【发布时间】:2011-10-05 19:37:02
【问题描述】:
我正在尝试创建一部电影以在我的应用启动时播放。第一个视图控制器是一个 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 方法,并使用 fullscreen 属性,我看不到电影。
我也在尝试创建一个 MPMovieplayerViewController 并使用 MPMoviePlayerViewControllers 的方法以模态方式呈现它,但它从未被呈现,我不知道为什么。我也尝试创建一个带有黄色背景的虚拟视图控制器,并以模态方式呈现它,但这也不起作用。
我已经尝试在屏幕上添加一个虚拟 UIView,并且效果很好。
因此,出于某种原因,我可以使用 addSubview 显示小的 UIViews/MPMoviePlayers。我无法让 presentModal__ 工作。我无法让全屏模式为 MoviePlayerController 工作。我真的很困惑为什么我不能从这个观点模态地呈现。谢谢。
【问题讨论】:
-
当使用全屏时,我认为您仍然应该在添加子视图之前设置帧大小,然后再设置全屏。
标签: iphone mpmovieplayercontroller