我正在为IOS7创建一个xcode应用程序,该应用程序在大多数视图中都可以使用纵向mod。
项目设置允许使用“纵向”,“左横向”和“右横向”。
在只希望以纵向显示的视图中,我添加以下代码将其锁定为纵向模式:
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
return (interfaceOrientation == UIInterfaceOrientationPortrait);
}
-(BOOL)shouldAutorotate
{
return NO;
}
-(NSUInteger)supportedInterfaceOrientations
{
return UIInterfaceOrientationMaskPortrait;
}
在这些锁定的视图之一中,我使用以下代码呈现了一个MPmovieViewController:
MPMoviePlayerViewController *movieViewController = [[MPMoviePlayerViewController alloc] initWithContentURL:replayURL];
movieViewController.moviePlayer.scalingMode = MPMovieScalingModeAspectFit;
[self presentMoviePlayerViewControllerAnimated:movieViewController];
这段代码创建了一个可以在Portrait and Landscape中使用的MPmovieViewController。 (这就是我想要的)
当我在横向模式下按MPMovieViewController的完成按钮以关闭MovieController时,会出现问题。以前的视图不支持横向模式,因此我遇到以下错误:
*** Terminating app due to uncaught exception 'UIApplicationInvalidInterfaceOrientation', reason: 'preferredInterfaceOrientationForPresentation must return a supported interface orientation!'
关闭MPMovieViewController时,如何强制旋转回到纵向模式?
最好的祝福
理查德
最佳答案
我在回答自己。实际上,这非常简单。
只需添加到仅纵向视图:
-(UIInterfaceOrientation)preferredInterfaceOrientationForPresentation { return UIInterfaceOrientationPortrait; }
谢谢
关于ios - 将横向 View 中的MPmovieViewController释放为仅纵向 View 时出错(UIApplicationInvalidInterfaceOrientation),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/24436008/