2011-11-29 77 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