アプリに 2 つのビュー コントローラーがあります。
1 番目のビュー コントローラーはポートレート モードで、2 番目のビュー コントローラーはランドスケープ モードです。
iPhoneを回転させても向きを変えたくない。どうすれば作れますか?
Xcode で、プロジェクト ナビゲーターでプロジェクトを強調表示し、プロジェクト ツリーでターゲットを選択します。[Summary] ページを開き、[Supported Interface Orientations] セクションに移動します。アプリケーションでサポートしない方向をクリックして解除します。
ストーリー ボードで、最初のビュー コントローラーを選択し、[属性] インスペクターに移動して、[シミュレートされたメトリック] セクションで向きを "Portrait" に設定します。次に、2 番目のビュー コントローラーを選択し、その向きを「横向き」に設定します。
ビュー コントローラー コードで、実装します。
- (NSUInteger)supportedInterfaceOrientations {
return UIInterfaceOrientationMaskPortrait;
}
最初のView Controllerの場合、および
- (NSUInteger)supportedInterfaceOrientations {
return UIInterfaceOrientationMaskLandscape;
}
2番目のView Controller用。これで問題が解決するはずです。
あなたの場合、2 つの VC があります。したがって、以下のメソッドの下の両方の VC で、方向を処理するだけです。toInterfaceOrientation に対してチェックを実行し、YES を返します。
- (void)willRotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration
{
// For your VC1
if (toInterfaceOrientation == UIInterfaceOrientationPortrait)
return YES;
// For your VC2
/*
if (toInterfaceOrientation == UIInterfaceOrientationLandscapeLeft || toInterfaceOrientation == UIInterfaceOrientationLandscapeRight)
return YES;
*/
}