如何解决MPMoviePlayer已完成按钮发出
我正在使用MPMoviePlayer来显示视频。我进入全屏模式,当单击“完成”按钮时,我希望它从我的视图中删除整个电影播放器。目前,它仅退出全屏模式。您如何跟踪被单击的doneButton或如何解决此问题?解决方法
您可以通过在“ 0”上添加一个通知处理程序来完成此操作,因为一旦用户点击“完成”按钮,该通知就会被发送。
初始化程序中的某处
[[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];
}
,据我所知,单击“完成”按钮时不会通知您。但是,当单击“完成”按钮后电影播放器退出全屏显示时,您会收到通知。为此,请使用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 \”行代码可确保负责处理moviePlayer的viewController正在侦听MPMoviePlayerDidExitFullScreen通知。
该行使之能够在通知到时触发exitedFullScreen方法,您可以在其中将要运行的代码放入单击“完成”按钮的位置。
在viewDidUnload中,viewController将被卸载,因此您要停止侦听通知,因此要停止监听removeObserver部分。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。