中安拓也のブログ

プログラミングについて書くブログ

【Xcode】iPhoneでは縦向き固定に、iPadでは横向き固定で表示したい

はじめに

JavaScript(Ionic)を使ってiOSアプリを作成していた時に、「iPadで縦向き(Portrait)表示するとレイアウトが崩れるから、横向き(Landscape)固定にしたい」という要請が発生した。とはいえ、iPhoneでも横向き(Landscape)固定にするのは、使いづらいと思ったので、モバイル端末とタブレット端末でPortraitとLandscapeを切り替える必要があった。

バージョン情報

  • Xcode: 9.3

  • Ionic Framework: ionic-angular 3.9.2

手順

なんかしらのライブラリの導入を検討していたが、Xcodeの設定を変更するだけでできた。

まずXcodeでプロジェクトを選択して、Generalを選択する。そして、Deployment InfoDevicesUniversalに設定する。

これで、iPhone、iPadそれぞれに対して、アプリの表示の向きを設定する事ができる。

iPhoneはPortrait固定に設定

まず、iPhoneから設定していく

f:id:l08084:20180414162435p:plain
iPhoneの設定

Device OrientationチェックボックスでPortrait以外のチェックを外す。

iPadはLandscape固定に設定

続いて、iPadの設定

f:id:l08084:20180414162901p:plain
iPadの設定

Device OrientationチェックボックスでLandscape LeftLandscape Rightのいずれか、もしくは両方を選択する(向きが変わるので、お好みで)。

関連ライブラリ

今回は使用しなかったが、ページごとに表示の向きを固定したりできるライブラリがあるらしい。

github.com