我使用的是MPMoviePlayer显示视频。 我进入全屏幕和点击完成按钮时,我想它删除从我的观点,整个电影播放的。 目前,它只有走出全屏模式。 如何跟踪被点击或只是我怎么去解决这个问题doneButton?
Answer 1:
你可以通过添加一个通知处理程序MPMoviePlayerDidExitFullscreenNotification
因为一旦用户点击完成按钮该通知被发送。
在某处,初始化
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(MPMoviePlayerDidExitFullscreen:) name:MPMoviePlayerDidExitFullscreenNotification object:nil];
现在执行该处理程序:
- (void)MPMoviePlayerDidExitFullscreen:(NSNotification *)notification
{
[[NSNotificationCenter defaultCenter] removeObserver:self
name:MPMoviePlayerDidExitFullscreenNotification
object:nil];
[moviePlayerController stop];
[moviePlayerController.view removeFromSuperview];
}
Answer 2:
据我所知,你不能点击完成按钮时通知。 您可以点击完成按钮后,全屏电影播放退出时,却得到通知。 为此,您使用MPMoviePlayerDidExitFullscreenNotification
观察并根据该通知,你需要粘贴在包含IBAction为(把它放在你的类文件下面的代码行为viewDidLoad
方法):
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(exitedFullScreen) name:@"MPMoviePlayerDidExitFullscreenNotification" object:nil];
现在,你需要创建exitedFullScreen
在同一个类中的方法:
-(void) exitedFullScreen
{
//Do whatever you want here
}
最后,在你的viewDidUnload
方法,粘贴以下行:
[[NSNotificationCenter defaultCenter] removeObserver:self name:@"MPMoviePlayerDidExitFullscreenNotification" object:nil];
为了解释这是怎么回事:
在您的viewDidLoad代码“的addObserver”行确保您的viewController负责处理moviePlayer是听MPMoviePlayerDidExitFullScreen通知。
这条线使得它如此,当通知来就是,exitedFullScreen方法发射了,你会把你想被点击完成按钮时运行的代码。
在viewDidUnload的的viewController将被卸载,所以你要停止听通知,因此removeObserver部分。
文章来源: MPMoviePlayer done button issue