2017-01-12 21 views
1

私は4つのビューコントローラーを持つアプリケーションを持っています。 1つは横長モードでのみ提示する必要があります。他の3つは、風景またはポートレートのいずれかになります。Objective-Cは向きを制御するためにUIInterfaceOrientationMaskを使用します。

私の展開情報エリアでは、デバイスオリエンテーション、上下左右、横向き、横向きがチェックされています。 Info.plistには、3つのサポートされているインタフェースオリエンテーションがあります:横長、横長、縦長ホームボタン。

私のビューコントローラでは、私はただの景観を望んでいます: - (BOOL)shouldAutorotate { return YES;私は他の3つのビューコントローラで }

-(UIInterfaceOrientationMask) supportedInterfaceOrientations { 
    return UIInterfaceOrientationMaskLandscapeLeft+UIInterfaceOrientationMaskLandscapeRight; 
} 

: - (BOOL)shouldAutorotate { リターンYES。 }

これらの設定のすべてに
-(UIInterfaceOrientationMask) supportedInterfaceOrientations { 
    return UIInterfaceOrientationMaskAll; 
} 

: 1)のみ風景の中にあるべきビューが唯一の風景の中にあるので、それは良いことです。 2)他の3つのビューは、横向きの左、横向き、縦長のモードで表示でき、ボタンは上部に表示されます。 3)他のポートレートの位置で画面を回転しようとすると、回転しません。

したがって、チェックされていない4番目の選択肢を含めるように、展開ページまたはInfo.plistページを変更します。その結果、他の3つのビューは正常に回転しますが、ランドスケープモードのビューは肖像画に回転します。

私の最初の風景を取得するには何が必要なのですか?もう1つはどのように回転するには?

答えて

0

このリンクを使用して向きを制御することができます。これは私の役に立つものです。

https://stackoverflow.com/a/24928474/6438500

+0

返信ありがとうございます。 – Mark

+0

ビューコントローラに表示されているコードを切り貼りすると、宣言されていない変数appDelegateの使用に関する2つのエラーが生成されました。 – Mark

+0

ここで、appDelegateはAppDelegateのインスタンスです。 AppDelegateインスタンスを作成する必要があります。 – Sunny

関連する問題