UIImageView中的高分辨率图像显示

时间:2012-10-22 09:39:50

标签: iphone memory-management crash uiimageview

My Requirment需要在UIImageView中显示4000 x 2000图像,但我在UIImageView中显示此图像...我收到内存警告后,一些导航应用程序崩溃..任何人都可以建议我如何摆脱这个问题..是的,我不想调整图像的大小

2 个答案:

答案 0 :(得分:5)

您应该使用CATiledLayer。有关示例实现,请参阅Apples PhotoScroller

答案 1 :(得分:3)

尝试使用此代码,它可以解决您的问题

     CGSize initialImageSize = userimage.frame.size;

     CGSize imageSize = userimage.image.size;
     CGFloat aspectRatio = imageSize.width / imageSize.height;

     CGRect imageFrame = userimage.frame;

     if (initialImageSize.width / aspectRatio <= initialImageSize.height) {
     imageFrame.size.width = initialImageSize.width;
     imageFrame.size.height = imageFrame.size.width / aspectRatio;
     } else {
     imageFrame.size.height = initialImageSize.height;
     imageFrame.size.width = imageFrame.size.height * aspectRatio;
     }
     userimage.frame = imageFrame;

其中userimage为UIImageView,您可以在其中加载图片。