2011-11-29 46 views
1

我正在使用MPMoviePlayer来显示视频。我进入全屏,当完成按钮被点击时,我希望它从我的视图中移除整个电影播放器​​。MPMoviePlayer完成按钮单击更改UIView高度

现在当我点击完成按钮它关闭MPMoviePlayer但它改变了我的UIView高度的大小。有没有解决方案删除MPMoviePlayer而不影响我的视图大小。

回答

2

创建一个videoPlayer视图控制器(MPMoviePlayerViewController子类)并将其添加到您的根视图控制器。

videoPlayerViewController = [[VideoViewController alloc] initWithContentURL:[NSURL fileURLWithPath:resourcePath]]; 
[rootViewController presentMoviePlayerViewControllerAnimated:videoPlayerViewController]; 
videoPlayer.controlStyle = MPMovieControlStyleFullscreen; 

然后添加通知:

[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(stopVideo:) name:MPMoviePlayerPlaybackDidFinishNotification object:[videoPlayerViewController moviePlayer]]; 
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(stopVideo:) name:MPMoviePlayerDidExitFullscreenNotification object:[videoPlayerViewController moviePlayer]];       

那么你的方法收到通知时调用。

- (void) stopVideo:(NSNotification*) aNotification { 
    [[NSNotificationCenter defaultCenter] removeObserver:self name:MPMoviePlayerPlaybackDidFinishNotification object:[videoPlayerViewController moviePlayer]]; 
    [[NSNotificationCenter defaultCenter] removeObserver:self name:MPMoviePlayerDidExitFullscreenNotification object:[videoPlayerViewController moviePlayer]]; 
    MPMoviePlayerController *player = [aNotification object]; 
    [player stop]; 
} 
+0

谢谢.....它的Perfactly工作。 – Wolverine