我的整个应用程序都是纵向锁定的,但是当播放视频时,我想允许所有方向仅用于视频播放。
故事板: TabBarController - > NavigationController - > MyVideosController - > MyVideoPlayerController
这是我尝过的众多尝试之一: Allow One View to Support Multiple Orientations While Others Do Not iPhone
问题是我从未在MyVideoPlayerController.m中使用此方法:
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
答案 0 :(得分:1)
对于iOS-6,我已经完成了这项工作,它运行得很好
(NSUInteger)supportedInterfaceOrientations
{
return UIInterfaceOrientationMaskPortrait | UIInterfaceOrientationMaskLandscapeLeft;
}
(UIInterfaceOrientation)preferredInterfaceOrientationForPresentation
{
return UIInterfaceOrientationLandscapeLeft;
}
答案 1 :(得分:1)
根据我的经验,您在这里找到的每一条建议都不适合您。您要做的是(如果您使用的是故事板)添加另一个导航控制器和视图控制器。您将以模态方式推动第二个导航控制器并将其锁定到您想要的方向。通过这种方式,您的视频播放器可以“弹出”并处于您想要的方向。
真的很烦人。
另一种选择(我并不是真的建议)是你可以打开AutoLayout并尝试IOS6版本。
答案 2 :(得分:1)
尝试使用此代码,将其添加到您正在为我工作的课程中:
#pragma mark - Orientation
- (BOOL)shouldAutorotate {
return YES;
}
-(NSUInteger)supportedInterfaceOrientations
{
return UIInterfaceOrientationMaskLandscapeRight | UIInterfaceOrientationMaskLandscapeLeft;
}
- (UIInterfaceOrientation)preferredInterfaceOrientationForPresentation
{
return UIInterfaceOrientationLandscapeRight;
}
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
return (interfaceOrientation == UIInterfaceOrientationLandscapeRight || interfaceOrientation == UIInterfaceOrientationLandscapeLeft);
}