0

私のアプリケーションでは 2UIViewControllersを取得しました。最初はルートコントローラーで、2番目はスタックUINavigationControllerにプッシュすることによって最初のコントローラーによって呼び出されます。UINavigationController's

したがって、最初のビューは縦向きのみで、2 番目のビューはすべての向きをサポートする必要があります。

最初にこのコードを書きました:

-(BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation{
    return toInterfaceOrientation == UIInterfaceOrientationPortrait;
}

しかし、それはまだすべての方向に回転しています。なんで?

4

4 に答える 4

0

これを行う最善の方法は、アプリの概要でサポートされている向きを好きなもの (縦向き) のみに変更することです。

ここに画像の説明を入力

次に、他のページの方向デリゲート メソッドを処理できます。

-(BOOL)shouldAutorotate{
return YES;

}

-(NSInteger)supportedInterfaceOrientations{ NSInteger マスク = 0; if ([self shouldAutorotateToInterfaceOrientation: UIInterfaceOrientationLandscapeRight]) マスク |= UIInterfaceOrientationMaskLandscapeRight; if ([self shouldAutorotateToInterfaceOrientation: UIInterfaceOrientationLandscapeLeft]) マスク |= UIInterfaceOrientationMaskLandscapeLeft; if ([self shouldAutorotateToInterfaceOrientation: UIInterfaceOrientationPortrait]) マスク |= UIInterfaceOrientationMaskPortrait; if ([self shouldAutorotateToInterfaceOrientation: UIInterfaceOrientationPortraitUpsideDown]) マスク |= UIInterfaceOrientationMaskPortraitUpsideDown; リターンマスク; }

于 2013-04-23T11:03:07.607 に答える
0

のカテゴリを作成しますUINavigationController。ここに記述した

iOS 6 で UIViewController を強制的に縦向きにする方法

于 2013-04-23T10:56:15.163 に答える
0

は使用しませんでしuinavigationcontrollerたが、代わりに使用しpresentmodalviewcontrollerました。これにより、さまざまな方向管理を使用できるようになりました。

于 2013-04-23T12:49:49.787 に答える