1

4 つの UINavigationControllers を持つ UITabBarController を使用しています。

4番目の ViewController では、その向きを縦向きに制限したいのですが、次の方法を使用していますが、うまくいきません。助けてください。

-(NSUInteger)supportedInterfaceOrientations
{
     return UIInterfaceOrientationMaskPortrait;
}

-(UIInterfaceOrientation)preferredInterfaceOrientationForPresentation
{
     return UIInterfaceOrientationPortrait;
} 
4

4 に答える 4

1

今、私は次のようにカスタマイズされた UITabBarController を使用しています...

CustomTabBarController.m

-(NSUInteger)supportedInterfaceOrientations
{
return UIInterfaceOrientationMaskPortrait;
}

- (UIInterfaceOrientation)preferredInterfaceOrientationForPresentation
{
return UIInterfaceOrientationPortrait;
}

ViewControllerToBePorted.m 内

- (UIInterfaceOrientation)preferredInterfaceOrientationForPresentation
{
return UIInterfaceOrientationLandscapeLeft;
}

-(BOOL)shouldAutorotate{
return NO;

}

返信ありがとう..

于 2013-10-30T10:56:13.120 に答える
0

開発者サイトから

「ビュー コントローラーがルート ビュー コントローラー上に表示されると、システムの動作が 2 つの方法で変化します。まず、向きがサポートされているかどうかを判断するときに、表示されたビュー コントローラーがルート ビュー コントローラーの代わりに使用されます。次に、表示されたビュー コントローラーは、優先方向も提供します. ビュー コントローラがフル スクリーンで表示される場合, ユーザー インターフェイスは優先方向で表示されます. ユーザーは, 方向がデバイスの方向とは異なることに気づき, デバイスを回転させることが期待されます. 優先方向は最もコンテンツを新しい向きで表示する必要がある場合によく使用されます。」

于 2013-10-30T10:14:40.667 に答える
0

親ビューでその方向が許可されている場合、子ビューの方向を制限することはできません。

この例を想像してみてください。タブ バーが横向きで、縦向きに制限されているビューを押すとどうなりますか?

私が言ったように、子供のオリエンテーションは親のオリエンテーションでなければなりません

于 2013-10-30T10:15:01.963 に答える