我在尝试从 iOS 6 设置新的 UIInterfaceOrientations 时遇到了麻烦。
恢复我的应用程序:
- 我的应用程序有很多视图;
- 几乎每个视图都应该以纵向显示;
- 我的 2 个视图(播放视频的视图
MPMoviePlayerViewController
)应该向左、向右和纵向旋转。
我最初的想法是将应用程序支持的方向设置为纵向,然后从视频播放器视图中更改(不知道如何)支持的方向。
处理这个问题的最佳方法是什么?
先感谢您!
我在尝试从 iOS 6 设置新的 UIInterfaceOrientations 时遇到了麻烦。
恢复我的应用程序:
MPMoviePlayerViewController
)应该向左、向右和纵向旋转。我最初的想法是将应用程序支持的方向设置为纵向,然后从视频播放器视图中更改(不知道如何)支持的方向。
处理这个问题的最佳方法是什么?
先感谢您!
通过将支持的界面方向设置为我需要的所有方向(纵向、横向和左侧)并添加Category
.UINavigationController
我将类别添加到任何UINavigationController
我想保持纵向模式的事件中,并像这篇文章一样对待 iOS 6 旋转:
@implementation UINavigationController (Rotation_IOS6)
-(BOOL)shouldAutorotate
{
return NO;
}
-(NSUInteger)supportedInterfaceOrientations
{
return UIInterfaceOrientationPortrait;
}
- (UIInterfaceOrientation)preferredInterfaceOrientationForPresentation
{
return UIInterfaceOrientationPortrait;
}
@end
实现了这个我仍然有一些问题,因为代码是这样的:
[self.window.rootViewController presentModalViewController:controller animated:NO];
而不是这个:
[self.navigationController pushViewController:controller animated:NO];
通过上述更改,我能够将整个应用程序保持在纵向模式,并让视频播放器视图保持旋转,因为它们的方法(shouldRotate 和supportedInterfaceOrientations)没有被覆盖。
查看我的帖子:https ://stackoverflow.com/a/12538622/1575017 这是同一件事,但为您翻转了方向。