如何在iOS 6中强制Orientation为Portrait

时间:2013-10-30 10:10:26

标签: ios orientation

我正在使用带有4个UINavigationControllers的UITabBarController。

在第四个ViewController中,我想将其方向限制为仅限肖像, 我正在使用以下方法,但那些不适合我, 请帮帮我。

-(NSUInteger)supportedInterfaceOrientations
{
     return UIInterfaceOrientationMaskPortrait;
}

-(UIInterfaceOrientation)preferredInterfaceOrientationForPresentation
{
     return UIInterfaceOrientationPortrait;
} 

4 个答案:

答案 0 :(得分:1)

现在我正在使用自定义的UITabBarController,如下所示......

CustomTabBarController.m

-(NSUInteger)supportedInterfaceOrientations
{
return UIInterfaceOrientationMaskPortrait;
}

- (UIInterfaceOrientation)preferredInterfaceOrientationForPresentation
{
return UIInterfaceOrientationPortrait;
}

并且

在ViewControllerToBePorted.m

- (UIInterfaceOrientation)preferredInterfaceOrientationForPresentation
{
return UIInterfaceOrientationLandscapeLeft;
}

-(BOOL)shouldAutorotate{
return NO;

}

感谢您的回复..

答案 1 :(得分:0)

来自开发者网站

“当在根视图控制器上显示视图控制器时,系统行为会以两种方式改变。首先,在确定是否支持方向时,使用呈现的视图控制器而不是根视图控制器。视图控制器也可以提供首选方向。如果视图控制器全屏显示,则用户界面以首选方向显示。用户应该看到方向与设备方向不同并旋转设备。当内容必须以新的方向呈现时,最常使用方向。“

答案 2 :(得分:0)

如果父视图允许该方向,则无法限制子视图的方向。

想象一下这个例子,你的标签栏是横向的,你按下限于肖像的视图,它会发生什么?

正如我所说,儿童的方向必须是父母的方向

答案 3 :(得分:0)

转到info.plist打开它作为源代码,你会看到这样的

<key>UISupportedInterfaceOrientations~ipad</key>
    <array>
        <string>UIInterfaceOrientationPortrait</string>
        <string>UIInterfaceOrientationPortraitUpsideDown</string>
        <string>UIInterfaceOrientationLandscapeLeft</string>
        <string>UIInterfaceOrientationLandscapeRight</string>
    </array>

删除

<string>UIInterfaceOrientationLandscapeLeft</string>
            <string>UIInterfaceOrientationLandscapeRight</string>