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);
これは機能しません。各次元を半分にしてみましたが、まだオフです。
更新: 私が使用している Retina iPhone 4 と非 Retina シミュレータ モードの両方で、画像が画面の同じ割合を使用するため、事後に Retina ディスプレイ用にスケーリングされていると思います。UIImage、UIImageView、またはプロジェクトを「網膜対応」に設定する方法はありますか?
更新 2: 各寸法を半分にして画像を小さくするとうまくいくようです。iPhone 4/4S は、2G/3G/3GS の 2 倍のピクセル数です。しかし、これはハック ソリューションのように思えます。それを行ったときに Retina ディスプレイのピクセル密度を利用しているかどうかさえわかりません。