无法全屏显示MPMoviePlayerViewController或MoviePlayerController
问题描述:
我试图创建一个电影,当我的应用程序启动时播放。第一个视图Controller是一个UITabBarController。在第一个标签的视图控制器代码中,我放置了电影。这个虚拟的代码工作(设置框架比全屏幕较小,只是表示影像):无法全屏显示MPMoviePlayerViewController或MoviePlayerController
- (void)PlayOpeningMovie {
NSString *filepath = [[NSBundle mainBundle] pathForResource:@"test" ofType:@"m4v"];
NSURL *fileURL = [NSURL fileURLWithPath:filepath];
MPMoviePlayerController *moviePlayerController = [[MPMoviePlayerController alloc] initWithContentURL:fileURL];
// MPMoviePlayerViewController *moviePlayerController = [[MPMoviePlayerViewController alloc] initWithContentURL:fileURL];
[moviePlayerController.view setFrame:CGRectMake(120, 120, 300, 200)];
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(moviePlaybackComplete:)
name:MPMoviePlayerPlaybackDidFinishNotification
object:moviePlayerController];
[self.view addSubview:moviePlayerController.view];
// [moviePlayerController setFullscreen:YES];
// [self presentMoviePlayerViewControllerAnimated:moviePlayerController];
[moviePlayerController play];
// [[moviePlayerController moviePlayer] play];
}
但是,如果我周围打开它,注释掉SETFRAME方法,并使用全屏的财产,我看不到电影。
我也在玩弄创建一个MPMovieplayerViewController并用MPMoviePlayerViewControllers的方法模态地呈现,但它永远不会呈现,我不明白为什么。我试着用黄色背景创建一个虚拟viewController,并且以模态方式呈现,并且不起作用。
我已经尝试添加一个虚拟的UIView到屏幕上,并且工作。
因此,出于某种原因,我可以使用addSubview显示小UIViews/MPMoviePlayers。我无法使当前模式正常工作。我无法使全屏模式工作于MoviePlayerController。我非常难以理解,为什么我无法从这种观点出发。谢谢。
答
[moviePlayerController setControlStyle:MPMovieControlStyleFullscreen];
[moviePlayerController setFullscreen:YES];
只需添加这两行以全屏显示即可。
当使用全屏时,我认为你应该在添加子视图之前设置帧大小,然后设置全屏。 – Zigglzworth