UIImage リファレンスから:
@property(nonatomic, readonly) CGSize size
向きを考慮した画像の寸法。
討論
iOS 4.0 以降では、この値はイメージの論理サイズを反映し、ポイント単位で測定されます。iOS 3.x 以前では、この値は常にピクセル単位で測定された画像の寸法を反映しています。
iOS のピクセルとポイントの違いは何ですか?
iOSのピクセルはデバイスのフル解像度です。つまり、長さが100x100ピクセルの画像がある場合、電話は標準の非網膜デバイスで100x100ピクセルをレンダリングします。ただし、新しいiPhoneのピクセル密度は4倍であるため、同じ画像は100x100ピクセルでレンダリングされますが、そのサイズの半分に見えます。iOSエンジニアは、Core Graphicsのポイントシステムを導入したとき、ずっと前に(Quartzを使用したOS Xに戻って)これを解決しました。ポイントは、非網膜デバイスでは1x1ピクセル、網膜デバイスでは2x2ピクセルに相当する標準の長さです。そうすれば、100x100の画像は網膜デバイスで2倍のサイズでレンダリングされ、基本的にユーザーに表示されるものを正規化します。
また、ピクセル密度がどのように変化しても、iPhone画面では320x480ポイント、iPad画面では768x1024ポイントであるため、iOSデバイスでの標準的な測定システムも提供します。*
しかし同時に、網膜デバイスは少なくともiOS 4で導入されたことを考えると、基本的にドキュメントを無視することができます。新しいiPhoneでiOS3を実行している人が多すぎることはわかりません。ただし、このような場合は、ピクセル密度の違いを補うために、UIImageを網膜iPhoneのピクセル単位のちょうど2倍の寸法でレンダリングする必要があります。
* iPhone 5以降、iPhoneの寸法は標準化されなくなりました。適切なAPIを使用して、画面のサイズを取得するか、レイアウトの制約を使用してください。