論理尺度比較図
ピクセル値ではなく、iOS ランタイムで扱われる論理尺度での比較図を作りました。単位は pt
です。プログラミングにおいては実際にはこちらの座標系が利用されるからです。
![iPhone X Series](https://qiita-user-contents.imgix.net/https%3A%2F%2Fqiita-image-store.s3.amazonaws.com%2F0%2F3603%2F1903a24a-d083-b50a-f6da-cee8f271f3d3.png?ixlib=rb-4.0.0&auto=format&gif-q=60&q=75&s=11e79349113c7210484c4cfc6c98cd85)
|デバイス|解像度|論理尺度|物理尺度|セーフエリア(縦)|セーフエリア(横)|
|:---|:---|:---|:---|:---|:---|:---|
|iPhone XS Max|3x|414×896 pt|1242×2688 px|414×818 pt|808×393 pt|
|iPhone XR|2x|414×896 pt|828×1792 px|414×818 pt|808×393 pt|
|iPhone XS|3x|375×812 pt|1125×2436 px|375×734 pt|724×354 pt|
|iPhone X|3x|375×812 pt|1125×2436 px|375×734 pt|724×354 pt|
X と XS はレイアウトの上では同一です。XR と XS Max は物理サイズと解像度が異なるだけで、論理尺度では一致することがわかります。また、414 という数値は Plus 系に出てきた値であることから、XS Max は Plus 級であることが見て取れます。
iPhone シリーズのレイアウトに関するより詳しい情報は HIG にまとまっています。
https://developer.apple.com/design/human-interface-guidelines/ios/visual-design/adaptivity-and-layout/
Large Title 時のステータスバーとナビゲーションバーの高さ
iPhone 8 と iPhone X の高さを比較すると、その差は145ptとなります。Large Title 時のナビゲーションバー下端までの距離は 140pt ですから、差し引いた分が iPhone 4.7" の高さと一致するかと思いきや実は5ptずれるようです。(過去に一致すると書いてしまっていたのは間違いでした。)
ステータスバーのアイコンは中央に配置されていることや、ツールバーとタブバーの高さの差異が無くなったなどの特徴を目視で判断することができます。
![iPhone 8 vs. iPhone X, XS](https://qiita-user-contents.imgix.net/https%3A%2F%2Fqiita-image-store.s3.amazonaws.com%2F0%2F3603%2F06ec1b18-0045-9b61-0880-8a9c9a2e3155.png?ixlib=rb-4.0.0&auto=format&gif-q=60&q=75&s=332f3cf7c560fee5e929d1c5741db1ff)
![スクリーンショット 2017-09-20 2.17.06.png](https://qiita-user-contents.imgix.net/https%3A%2F%2Fqiita-image-store.s3.amazonaws.com%2F0%2F3603%2Fa8a519c2-0f14-3c64-4102-bab820b2d6ff.png?ixlib=rb-4.0.0&auto=format&gif-q=60&q=75&s=b090c85e628fd55478ef5d4dbfb71a5b)
Interface Builder でマージン位置にガイド線を引く
Editor
> Canvas
> Show Layout Rectangles
でガイド線を表示できる。
適切なマージンを保つ Auto Layout 制約を設定
Constrain to margins
を有効にし、左右制約を Safe Area ではなく View を対象にする。マージンを0にする。
Portrait/Landscapeで変化するマージン幅にも対応できる。