web-dev-qa-db-ja.com

画面の向きを縦向きにロック-ios swift

ポートレートモードのみをサポートするアプリケーションを作成しています。横向きまたは縦向きを上下逆にしたくない。私はいくつかのコードを試しました。ポートレートモードでロックすることができます。

ナビゲーションコントローラーとプレゼントビューコントローラーを使用しています。私の問題は次のとおりです。1.デバイスを上下逆にしてアプリケーションを開くと、デバイスが逆さまモードで開きますが、これは間違っています。 2.ボタンをクリックしてpresentviewcontrollerに入ると、ポートレートモードに戻ります。

navigationcontrollerとpresentviewcontrollerをすべて縦向きにしたい

私のコード:

Target -> General -> Deployment Info -> Portraitでデバイスの向きを縦に設定しました

私のappdelagate.Swiftで:

func application(application: UIApplication, supportedInterfaceOrientationsForWindow window: UIWindow?) -> UIInterfaceOrientationMask {
        return UIInterfaceOrientationMask.Portrait
    }

私の最初のビューコントローラー。これは基本的にナビゲーションコントローラの子です

override func shouldAutorotate() -> Bool {


            return false
        }

        override func supportedInterfaceOrientations() -> UIInterfaceOrientationMask {
            return [UIInterfaceOrientationMask.Portrait ]
        }

編集1:

また、StoryBoard -> ViewController -> Attribute Inspector -> Orientation -> Portraitを設定しました

編集2:

私の設定ファイル enter image description here

13
Amsheer

[ターゲットに移動]-> [一般]を選択し、[方向モード]を[縦]に設定します。

enter image description here

Info.plistも確認してください。確認してください Supported Interface Orientationsに含まれる値は1つだけです(縦)。いつかは設定から​​削除されますが、plistファイルでは更新されません。

enter image description here

29
technerd

アプリが分割画面ビューをサポートしていない場合は、[全画面を要求する]オプションをオンにする必要があります。これで縦モードの問題が解決しました。 enter image description here

これで問題が解決しない場合は、追加サポートされるインターフェースの向きinfo.plistの配列タイプのキー。そして、値Portrait(一番下のホームボタン)を持つその配列への文字列項目

enter image description here

3
Saqib Omer