我正在使用带有4个UINavigationControllers的UITabBarController。
在第四个ViewController中,我想将其方向限制为仅限肖像, 我正在使用以下方法,但那些不适合我, 请帮帮我。
-(NSUInteger)supportedInterfaceOrientations
{
return UIInterfaceOrientationMaskPortrait;
}
-(UIInterfaceOrientation)preferredInterfaceOrientationForPresentation
{
return UIInterfaceOrientationPortrait;
}
答案 0 :(得分:1)
现在我正在使用自定义的UITabBarController,如下所示......
-(NSUInteger)supportedInterfaceOrientations
{
return UIInterfaceOrientationMaskPortrait;
}
- (UIInterfaceOrientation)preferredInterfaceOrientationForPresentation
{
return UIInterfaceOrientationPortrait;
}
并且
- (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>