0

現在、私のアプリでは、ユーザーが横向きになったときに別の uiview を表示するはずの 1 つのビューを除いて、横向きを許可する必要はありません。mainviewcontroller (UINavigationController) からアクセスできる 20 個の UIViewControllers があるとします。ここで、UIViewController #7 に 2 つのビューが表示されているとします。1 つは横向き用で、もう 1 つは縦向き用です。アプリのライフサイクル全体で Rotation Orientation を排除したいと思ってほしくないのですが、19 のビューだけであり、最後の uiviewcontroller はそれをサポートしています。

ユーザーがその 1 つのビューを横向きにすると、アプリは通常どおりに表示され、向きの影響はありません。

ユーザーに縦向きのビューのみを使用してもらいたいのですが、それはその1つのビューコントローラーに対してです。おそらく、ユーザーが電話を 180 度回転させて逆さまにすると、アプリは反転するはずですが、縦向きの表示のままです。

A誰かアイデアはありますか? 私はiOS 6.1に展開しているので、使用したいくつかの方法は非推奨になっています。これは避けたいことです...

この方法など:

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

私はいくつかのテストケースを行いました:

- (NSUInteger) supportedInterfaceOrientations
{
    return UIInterfaceOrientationMaskPortrait;
}

- (UIInterfaceOrientation)preferredInterfaceOrientationForPresentation
{
    return UIInterfaceOrientationPortrait;
}

- (BOOL) shouldAutorotate{
    return NO;
}

また、stackoverflow 関連の質問も調べましたが、単純に答えが見つかりません。

これは、オーバーライドする 1 つまたは 2 つのメソッドである必要があると思いますが、これを行うことはできません..... UIViewController で横向きをなくすにはどうすればよいですか??

4

1 に答える 1