web-dev-qa-db-ja.com

iPhoneの場合は縦向き、iPadの場合は横向きのユニバーサルアプリケーション

Swiftを使用してユニバーサルアプリケーションを作成しています。ストーリーボードと自動レイアウトを使用しました。要件は、iPhoneのみの縦向きとiPadのみの横向きをサポートするユニバーサルアプリケーションを作成することです。

IPhone用のUIを開発しましたが、今はiPadのUIを開始します。

また、iPhone用に作成されたUIはiPad用に作成されたUIと同じではありません。両方のUIはまったく異なります。

IPhoneとiPadに別々のストーリーボードを作成することを考えています。これを達成する適切な方法はありますか?

39
user1988

Info.plistファイルに移動し、キー「Supported interface orientations(iPhone)」を使用して配列を追加し、その中に次の値を追加します。

  1. ポートレート(下のホームボタン)

同様に、別の配列「サポートされているインターフェイスの向き(iPad)」を追加し、次を追加します。

  1. ポートレート(下のホームボタン)
  2. 横(左のホームボタン)
  3. 風景(右のホームボタン)

下記参照: enter image description here

82
Hamza Azad

IOS 8のみにアプリをデプロイする場合、ストーリーボードを1つ使用します。 1つの画面を利用する方が簡単です。素晴らしいチュートリアルへのリンクはこちらです。 http://www.raywenderlich.com/83276/beginning-adaptive-layout-tutorial
あなたが私のような人で、iOS 6をターゲットにしたい場合は、別個のストーリーボードを使用します。あなたが使用することに決めたものは何でも、間違いなく自動レイアウトに固執してください。
64ビットのサポートを開始する必要があることを忘れないでください。
幸運を!

1
Murat Zazi

これを特定のViewControllerに設定する場合(iPadではすべて許可し、iPhoneでは縦向きのみ)、これをViewControllerクラス(Swift 4)に追加します。

override var supportedInterfaceOrientations:UIInterfaceOrientationMask {
    return UIDevice.current.userInterfaceIdiom == .pad ? UIInterfaceOrientationMask.all : UIInterfaceOrientationMask.portrait
}
0
Dion