uIImageリファレンスから、
サイズ
向きを考慮した画像の寸法。 (読み取り専用)
@property(nonatomic, readonly) CGSize size
討論
IOS 4.0以降では、この値は画像の論理サイズを反映し、ポイントで測定されます。 iOS 3.x以前では、この値は常にピクセル単位で測定された画像の寸法を反映しています。
ピクセルとポイントの違いは何ですか?
IOSのピクセルはデバイスの最大解像度です。つまり、長さ100x100ピクセルの画像がある場合、電話は標準の非網膜デバイスで100x100ピクセルをレンダリングします。ただし、新しいiPhoneのピクセル密度は4倍になっているため、同じ画像は100x100ピクセルでレンダリングされますが、そのサイズの半分に見えます。 iOSのエンジニアは、Core Graphicsのポイントシステムを導入したときに(Quartzを使用したOS Xに戻って)かなり前にこれを解決しました。ポイントは、非網膜デバイスでは1x1ピクセル、網膜デバイスでは2x2ピクセルに相当する標準的な長さです。これにより、100x100の画像はRetinaデバイスで2倍のサイズでレンダリングされ、基本的にユーザーが見るものが正規化されます。
また、ピクセル密度がどのように変化しても、iPhone画面では320x480ポイント、iPad画面では768x1024ポイントが常に存在するため、iOSデバイスで標準の測定システムを提供します。*
しかし、同時に、少なくともiOS 4でRetinaデバイスが導入されたことを考慮すると、基本的にドキュメントを無視できます。新しいiPhoneでiOS 3をまだ実行している人はあまりいません。ただし、そのような場合は、ピクセル密度の違いを補うために、UIImageをRetina iPhoneのピクセル単位で正確に2倍のサイズでレンダリングする必要があります。
* iPhone 5以降、iPhoneの寸法は標準化されなくなりました。適切なAPIを使用して画面のサイズを取得するか、レイアウトの制約を使用してください。
http://www.paintcodeapp.com/news/ultimate-guide-to-iphone-resolutions からのデータを使用して、数式sqrt(pointWidth ^ 2 + pointHeight ^ 2)/ diagonalInchesを設定します各電話が1インチあたりに表示するポイント数。
結果:
iPhone 2G、3G、3GS、4、4s = 164.825201164068082インチあたりのポイント
iPhone 5、5s = 162.9846618550346903
iPhone 6 = 162.8061416117083255
iPhone 6 Plus = 153.535954278463216
おわかりのように、ポイントは各電話でほぼ同じサイズです。同じWeboページを使用して、ピクセル値で同じ数式を設定できます。新しい携帯電話のピクセル密度が高いため、大きな不規則性に気づくでしょう。