我正在尝试创建一个在我的应用启动时播放的电影。第一个视图Controller是一个UITabBarController。在第一个选项卡的视图控制器的代码中,是我放置电影的地方。这个虚拟代码可以工作(将帧设置为小于整个屏幕,只显示视频):
- (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。我无法使presentModal_ _ 正常工作。我无法使用全屏模式为MoviePlayerController工作。我真的很难过为什么我不能从这个观点出现模态。谢谢。
答案 0 :(得分:1)
[moviePlayerController setControlStyle:MPMovieControlStyleFullscreen];
[moviePlayerController setFullscreen:YES];
只需添加这两行即可全屏显示。