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