🐙
iPhoneのUpside Down方向の扱いをまとめました
知ってるようで知らなかったので、まとめます。
前提
Xcodeでプロジェクトファイルの[Deployment Info]の↓で端末の回転の許可不許可を選べます。
デフォルトではUpside Downはオフ
iOSの新規作成プロジェクトでは、デフォルトで回転が許可になっています。
ただしその回転方向は四方向ではなく、
- Portrait
- Landscape Left
- Landscape Right
の三方向です。
- Upside Down(逆さま)
はチェックがはずれています。
Upside Downが有効にならない端末がある
Upside Down方向にどうしても回転させないといけない要件はそんなにないとは思うので、
基本はデフォルトのままにするか、回転を不許可にするためにPortrait
だけにするかの二択になるかと思います。
ただ何らかの事情でUpside Down
を有効にしたい場合の注意点です。
HIGの「General Layout Considerations」のnote部分に、こんな記述があります。
ホームボタンがないiPhone端末(iPhone X以降)はデバイス側で禁止されている
Apple Developer Documentには、さらに詳しい記述があります。
それでもホームボタンなしiPhoneを逆さまにしたい
試してはいませんが、やりようはあるみたいです。
ViewController上でsupportedInterfaceOrientations()
をoverrideするとできるみたいです。
まとめ
- ホームボタンなしのiOS端末はUpside Downが無効です。
- ホームボタンありのiOS端末でも、デフォルト設定はUpside Downが無効にされています。
- ホームボタンありのiOS端末なら、プロジェクトファイルにチェックを入れればUpside Downを有効にできます。
- ただしiPadではUpside Downを有効にするのがベストプラクティスです。
- 故にiPhoneではUpside Downを無効、iPadでは有効にする、と単純に認識しておけばいいかと思いました
Discussion