3

アプリに 2 つのビュー コントローラーがあります。
1 番目のビュー コントローラーはポートレート モードで、2 番目のビュー コントローラーはランドスケープ モードです。

iPhoneを回転させても向きを変えたくない。どうすれば作れますか?

4

2 に答える 2

4

Xcode で、プロジェクト ナビゲーターでプロジェクトを強調表示し、プロジェクト ツリーでターゲットを選択します。[Summary] ページを開き、[Supported Interface Orientations] セクションに移動します。アプリケーションでサポートしない方向をクリックして解除します。

ストーリー ボードで、最初のビュー コントローラーを選択し、[属性] インスペクターに移動して、[シミュレートされたメトリック] セクションで向きを "Portrait" に設定します。次に、2 番目のビュー コントローラーを選択し、その向きを「横向き」に設定します。

ビュー コントローラー コードで、実装します。

- (NSUInteger)supportedInterfaceOrientations {
    return UIInterfaceOrientationMaskPortrait;
}

最初のView Controllerの場合、および

- (NSUInteger)supportedInterfaceOrientations {
    return UIInterfaceOrientationMaskLandscape;
}

2番目のView Controller用。これで問題が解決するはずです。

于 2013-02-16T16:25:21.190 に答える
2

あなたの場合、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;  
     */

}
于 2013-02-16T16:40:26.180 に答える