0

ストーリーボードを使用して UIViewController を作成し、それを UIViewController クラスにリンクしました。

UIViewController が縦向きのみをサポートするようにしたいのですが、打撃コードを試しましたが、うまくいかないようです。私のUIViewControllerはまだ回転しています。

ストーリーボードのプロパティを変更する必要がありますか?

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {

     return ((interfaceOrientation == UIInterfaceOrientationPortrait) || (interfaceOrientation == UIInterfaceOrientationPortraitUpsideDown));
}
4

2 に答える 2

3

shouldAutorotateToInterfaceOrientationshouldAutoRotate&を使用する必要がありますsupportedInterfaceOrientations

あなたのviewControllerでこのようにしてみてください。

- (BOOL)shouldAutorotate {
    return NO;
}

- (BOOL)supportedInterfaceOrientations {
    return UIInterfaceOrientationMaskPortrait;
}
于 2013-03-27T16:25:03.280 に答える
0

ここで答えを見つけました: iOS 6 shouldAutorotate: is NOT being called

私の UIViewController は、iOS 6 で向きを制御する UINavigationController によって管理されます。

現在、iOS コンテナー (UINavigationController など) は、自動回転する必要があるかどうかを判断するために、子に相談しません。既定では、アプリとビュー コントローラーのサポートされるインターフェイスの向きは、iPad イディオムの場合は UIInterfaceOrientationMaskAll に設定され、iPhone イディオムの場合は UIInterfaceOrientationMaskAllButUpsideDown に設定されます。

UINavigationController を新しいshouldAutorotatesupportedInterfaceOrientationsでサブクラス化する必要がありました

他の投稿では、サブクラス化ではなくカテゴリを追加することを好むのを見ました。しかし、私にとっては、サブクラス化はうまく機能します。

于 2013-03-27T17:50:51.080 に答える