【发布时间】:2013-05-28 02:31:29
【问题描述】:
我有一个UIImage,我想在 iPhone 4/4S/5 屏幕上逐个像素地显示它。重要的是它根本没有缩放,但是当我尝试使用setImage 时,它会使图像太大。
我的UIImageView 是在UIStoryboard 中制作的(因为我对这方面真的很陌生),并设置为“重绘”模式,其他一切都默认。其他模式都没有正确缩放UIImage(编辑:也就是说,将UIImageViews contentMode 设置为其他内容不起作用)。
我环顾四周,发现了这个:
[self.imageView setImage: image];
self.imageView.frame = CGRectMake(self.imageView.frame.origin.x,
self.imageView.frame.origin.y,
image.size.width,
image.size.height);
这是行不通的。我尝试将每个维度减半,但仍然关闭。
更新:我认为它是在事后针对视网膜显示进行缩放的,因为在我使用的视网膜 iPhone 4 和非视网膜模拟器模式下,图像占用了相同百分比的屏幕。有什么方法可以将 UIImage 或 UIImageView 或项目设置为“视网膜就绪”?
更新 2:通过将每个维度减半来缩小图像似乎可行。 iPhone 4/4S 的像素是 2G/3G/3GS 的两倍。但这似乎是一个 hack 解决方案,我什至不确定它是否在利用视网膜显示像素密度时这样做。
【问题讨论】:
标签: ios iphone uiimageview uiimage cgrectmake