🐙

iPhoneのUpside Down方向の扱いをまとめました

2021/03/31に公開

知ってるようで知らなかったので、まとめます。

前提

Xcodeでプロジェクトファイルの[Deployment Info]の↓で端末の回転の許可不許可を選べます。

デフォルトではUpside Downはオフ

iOSの新規作成プロジェクトでは、デフォルトで回転が許可になっています。
ただしその回転方向は四方向ではなく、

  • Portrait
  • Landscape Left
  • Landscape Right

の三方向です。

  • Upside Down(逆さま)

はチェックがはずれています。

Upside Downが有効にならない端末がある

Upside Down方向にどうしても回転させないといけない要件はそんなにないとは思うので、
基本はデフォルトのままにするか、回転を不許可にするためにPortraitだけにするかの二択になるかと思います。

ただ何らかの事情でUpside Downを有効にしたい場合の注意点です。

https://developer.apple.com/design/human-interface-guidelines/ios/visual-design/adaptivity-and-layout/

HIGの「General Layout Considerations」のnote部分に、こんな記述があります。

ホームボタンがないiPhone端末(iPhone X以降)はデバイス側で禁止されている

Apple Developer Documentには、さらに詳しい記述があります。

https://developer.apple.com/documentation/uikit/uiviewcontroller/1621435-supportedinterfaceorientations

それでもホームボタンなしiPhoneを逆さまにしたい

試してはいませんが、やりようはあるみたいです。
ViewController上でsupportedInterfaceOrientations()をoverrideするとできるみたいです。

https://qiita.com/hikarut/items/c3bea991623a9a26f238

まとめ

  • ホームボタンなしのiOS端末はUpside Downが無効です。
  • ホームボタンありのiOS端末でも、デフォルト設定はUpside Downが無効にされています。
  • ホームボタンありのiOS端末なら、プロジェクトファイルにチェックを入れればUpside Downを有効にできます。
  • ただしiPadではUpside Downを有効にするのがベストプラクティスです。
  • 故にiPhoneではUpside Downを無効、iPadでは有効にする、と単純に認識しておけばいいかと思いました

Discussion