2

我的要求是需要在 UIImageView 中显示 4000 x 2000 的图像,但我在 UIImageView 中显示了这个图像......在那次导航应用程序崩溃之后我收到了内存警告......谁能建议我如何摆脱这个问题......并且是的,我不想调整图像的大小

4

2 回答 2

5

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

于 2012-10-22T09:44:02.757 回答
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 您加载图像的位置。

于 2012-10-22T10:43:55.447 回答