2017-04-24 7 views
1

起動時にポートレートモードになる予定のアプリケーションで作業しています。その後、私のプロジェクトに何らかの目的でSDKを追加します。統合の過程で、SDKは、[一般]ペインでPortraitとLandscape Rightの両方をチェックする必要があります。だから私はSDKの統合マニュアルに記載されているように設定しました。デバイスを停止する方法オリエンテーションを変更する

enter image description here

とその後の私は、デバイスに自分のプロジェクトを実行して向きが変化しているアプリのデバイスを右に回転させたとき。どのようにSDKを妨げることなく向きが固定されているかを設定することができます。

+0

は、あなたがしたい正確に何問をクリアすることができますあなたが景観の権利を設定し、コースの方向を変えるならば変更します。 –

+0

私のアプリはポートレートモードのみをサポートします。私は風景の権利を与える場合、それは方向を変更することを知っています。私が景観の権利を削除した場合、私のsdkは機能しません。 'サポートされている向きはアプリケーションと共通の方向性がなく、shouldAutorotateはYESを返すようです。 – Ramakrishna

+0

この回答を確認してください:http://stackoverflow.com/a/43359827/7715250 –

答えて

2

あなたが向きを設定するために問題が発生した場合はアプリが起動した直後に、あなたは、各ビューコントローラの向きを停止する必要があるかの基本ナビゲーションコントローラの一つかもしれません

スウィフト3:

class YourBaseNavigationController: UINavigationController { 
override func viewDidLoad() { 
    super.viewDidLoad() 
    UIDevice.current.setValue(UIInterfaceOrientation.portrait.rawValue, forKey: "orientation") 
} 
override var shouldAutorotate: Bool { 
    return false 
} 
override var supportedInterfaceOrientations: UIInterfaceOrientationMask { 
    return .portrait 
} 
override var preferredInterfaceOrientationForPresentation: UIInterfaceOrientation { 
    return .portrait 
}} 

YourBaseNavigationControllerをナビゲーションコントローラとして使用します。このナビゲーションコントローラ内の基本的にすべてのビューコントローラは、ポートレートモードのみをサポートするよう強制されます。

+0

私はこの解決策を試みます。 – Ramakrishna

+0

ルートコントローラをナビゲーションコントローラにプログラムで設定する場合、どうすればよいですか? 'nav = UINavigationController(rootViewController:SyncVc)' – Ramakrishna

+0

ここでUINavigationControllerを使うのではなく、YourBaseNavigationControllerを使うべきです。 'YourBaseNavigationController(rootViewController:SyncVc)' – RMRAHUL

0

コードで方向を無効にする必要があります。

あなたRootViewControllerにこのコードを追加します。

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation 
{ 
// Return YES for supported orientations 
return (interfaceOrientation != UIInterfaceOrientationPortraitUpsideDown);//set 'return NO'; for stop orientation 
} 

スウィフト:風景は左のチェックや風景マーク解除

override func supportedInterfaceOrientations() -> UIInterfaceOrientationMask { 
    return UIInterfaceOrientationMask.Portrait 
} 
+0

やってみます。 – Ramakrishna

2

+0

Landscapeの左と右の表示をオフにすると、ポートレートモードで動作することがわかります。しかし、これらのオプションのチェックを外すと、SDKに問題があります。 – Ramakrishna

関連する問題