2016-03-20 27 views
0

XcodeとSwiftを初めて使用しています。 (Xcode 7.2、Swift 2.0)私の最初のプロジェクトにはナビゲーションコントローラと他の3つのビューコントローラ、A、B、Cが含まれています。私はビューを自動回転させたくありません。私はAとBを肖像画で永久にCを恒久的に風景にしたい。一般 - >展開情報 - >デバイスの向きで、私はポートレートと風景を左にチェックしました。各VCには、このようなコードがviewDidLoadにあります。自動ローテーションを無効にする

let value = UIInterfaceOrientation.LandscapeLeft.rawValue 
UIDevice.currentDevice().setValue(value, forKey: "orientation") 

以下の方法...

override func shouldAutorotate() -> Bool { 
    return false 
} 

各ビューが所望の向きにして開始します。しかし、ダーン物事は自動回転を続けます。

答えて

-1

最初の方法:プロジェクトでVCを回転させたくない場合は、[ターゲット]ウィンドウの[デバイスの向き]プロパティのチェックを外してください。 enter image description here

第二の方法:あなたはUINavigationControllerを使用していて、shouldAutorotate()関数を呼び出すしたい場合は、あなたのcustomNavigationControllerに、このよう

を、カスタムUINavigationControllerクラスを作成し、次のコードをインポートする必要がある場合はクラス、

override func shouldAutorotate() -> Bool { 
    return false 
} 

このようにして、あなたNavigationControllerのviewControllersは、許可を許可する

1

あなたは何を記述していることはできません。ナビゲーションコントローラ内の異なる深度の異なるビューコントローラは、異なる固定方向を持つことができません。サポートされていません。 ビューコントローラを提示さ

ビューコントローラを以前のビューコントローラとは異なる一定の配向を付与する唯一の方法である、ないビューコントローラは、ナビゲーションコントローラのスタックにを押しました。

また、この行:

UIDevice.currentDevice().setValue(value, forKey: "orientation") 

は、おそらくあなたのアプリはApp Storeでの拒否になるだろう。このようにデバイスの向きを設定することはできません。

関連する問題