iOS 6 - Tab Bar控制器锁定为纵向,除非呈现模态MPMoviePlayerViewController

时间:2013-03-29 20:09:24

标签: ios orientation mpmovieplayercontroller autolayout portrait

我有一个包含多个视图的标签栏应用。除了在movieviewcontroller中显示视频外,每个视图都应锁定为纵向模式。 设置它的正确方法是什么?

App适用于iOS 6.0及更高版本,并使用自动布局。

1 个答案:

答案 0 :(得分:3)

只需使用以下方法为UITabBarController创建一个类别:

-(BOOL)shouldAutorotate{
    return YES;
}
- (NSInteger)supportedInterfaceOrientations
{
    return UIInterfaceOrientationMaskPortrait | UIInterfaceOrientationMaskPortraitUpsideDown;
}

然后在我的子类MPMoviePlayerViewController中:

-(BOOL)canBecomeFirstResponder{
    return YES;
}

-(BOOL)canResignFirstResponder{
    return YES;
}

-(BOOL)shouldAutorotate{
    return true;
}

-(NSUInteger)supportedInterfaceOrientations{
    return UIInterfaceOrientationMaskAll;
}

现在所有标签视图都锁定为纵向/倒置纵向,而电影播放器​​可以任意方向自由旋转。