如何为MPMoviePlayerViewController更改UIModalTransitionStyle

Ben*_*ton 2 iphone mpmovieplayercontroller ios4

当我使用MPMoviePlayerViewController时,我似乎无法将modalTransitionStyle更改为默认的上滑动画以外的任何内容.

有没有其他人设法让这个工作?

MPMoviePlayerViewController* theMoviePlayer = [[MPMoviePlayerViewController alloc] initWithContentURL:[NSURL fileURLWithPath:videoURL]];
theMoviePlayer.modalTransitionStyle = UIModalTransitionStyleCrossDissolve; // doesn't work
[self presentMoviePlayerViewControllerAnimated:theMoviePlayer];
Run Code Online (Sandbox Code Playgroud)

谢谢

Eca*_*ion 6

我发现使用CrossDisolve模态动画启动'MPMoviePlayerViewController'实例的方法是在导航控制器内启动电影播放器​​,如下所示:

NSURL * videoUrl = [[NSURL alloc] initFileURLWithPath:videoPath];
MPMoviePlayerViewController * moviePlayerController = [[MPMoviePlayerViewController alloc] initWithContentURL:videoUrl];

UINavigationController * navController = [[UINavigationController alloc] initWithRootViewController:moviePlayerController];
navController.modalTransitionStyle = UIModalTransitionStyleCrossDissolve;
[navController setNavigationBarHidden:YES];

[self presentViewController:navController animated:YES completion:nil];
Run Code Online (Sandbox Code Playgroud)

并监听MPMoviePlayerPlaybackDidFinishNotification通知:

[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(movieDidFinish:) name:MPMoviePlayerPlaybackDidFinishNotification object:nil];
Run Code Online (Sandbox Code Playgroud)

视频播放完毕后将其关闭:

-(void)movieDidFinish:(NSNotification *)notification {

    [self dismissViewControllerAnimated:YES completion:nil];
}
Run Code Online (Sandbox Code Playgroud)