結論
整数倍スケーリングだけ考えれば良かった
XCode開発(InterfaceBuilderデザイン)は死にました
iPhoneXは
1125x2436=1:2.165の変態アスペクト比

XCode上では
375x812の3倍Retina
なんだけども、話はそう単純ではない
①上のカメラ領域
②四隅の丸角

あとはHomeボタンのかわりに
全てのUIの縦横にかぎらず

③下側に引っ張るエリア
ここを上フリックしたり、上フリックすると
ホームボタンやスイッチャーの代用になってる
①②③を除外した内接四角形がSafeAreaと言われる
「四角形として表示をしたいアプリ」
「過去のアプリ」
用のエリア
問題は、
下に引っ張るエリアのせいで、
縦横で比率が変わること
縦モード
375x734(1125x2202)
横モード
724x354(2172x1062)
アスペクト比が異なる
これが地味にキツイ
四角形で作ってきたメーカーが
追従が遅れている最大の理由
縦持ち固定のマリオとか、隅っこが切れても良いRPGとかは
Unityとかの対応でなんとか出来てる模様
枠やアス比を16:9前提で作り込んでる
パズルゲーやリズムゲーが追いついてないのかな
あとさらにLargeTitleモードって言うのがあるらしく
NaviBarが20%上部を専有する
上が145Px切り取られる

この場合はiPhone7と互換になり
375x812(2436x1125)となる
まぁiPhonePlus計みたいにxN倍してからx0.xx縮小とかされないので
ドットバイドットなので細かい線引く場合は楽なんだけどさ
3倍レチナディスプレイはもう視認出来ないレベル
自分でフレームワーク組んでる人とか吐き気がする仕様
まぁ私なんですけどね

黒枠挿入覚悟して
contentsGravityでアス比キープ内接フィットにすれば

どんな四角形でもなんとかなるんだけど、ふつくしくない
面白いので耳を活かしてアプリデザイン検討中

Info.plist弄るとインジケータは殺せるので
制約をSafeArea外に出せば
そこに表示させることが可能なのは昨日わかった
ただ制約をSafeAreaと画面全体基点に
無理矢理作るので、iPhoneX以外も使える
コンパチなレイアウトにはできない模様
0 件のコメント:
コメントを投稿