MPMoviePlayer完成button问题
我正在使用MPMoviePlayer来显示video。 我进入全屏,当完成button被点击时,我希望它从我的视图中删除整个电影播放器。 目前它只能走出全屏模式。 你如何跟踪被单击的doneButton,或者我该如何解决这个问题?
您可以通过在MPMoviePlayerDidExitFullscreenNotification
上添加通知处理程序来完成此操作,因为一旦用户点击完成button,就会发送该通知。
初始化程序中的某处
[[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]; }
就我所知,当单击“完成”button时,不会收到通知。 但是,您可以在完成button被点击后当电影播放器退出全屏时得到通知。 为此,您使用MPMoviePlayerDidExitFullscreenNotification
为了观察和处理这个通知,你需要将下面的代码粘贴到包含IBAction的类文件中(放在viewDidLoad
方法中):
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(exitedFullScreen) name:@"MPMoviePlayerDidExitFullscreenNotification" object:nil];
现在,您需要在同一个类中创buildexitedFullScreen
方法:
-(void) exitedFullScreen { //Do whatever you want here }
最后,在你的viewDidUnload
方法中,粘贴下面一行:
[[NSNotificationCenter defaultCenter] removeObserver:self name:@"MPMoviePlayerDidExitFullscreenNotification" object:nil];
解释发生了什么事情:
viewDidLoad中的“addObserver”代码行确保负责处理moviePlayer的viewController正在监听MPMoviePlayerDidExitFullScreen通知。
这条线使得当通知到来时,exitedFullScreen方法被触发,你可以把你想要运行的代码放在完成button被点击的时候。
在viewDidUnload中,viewController将被卸载,所以你想停止监听通知,因此removeObserver部分。
- 如何使用UIApplication和openURL并从foo:// q = string在“string”上调用swift函数?
- Google plusloginxcode共享扩展
- 创buildtableview所有数据的pdf
- iOS Safari Mobile不会触发pageshow只触发一次
- 如何在startWithGraphPath Facebook iOS中标记好友
- 我如何添加UIView ** spriteKit **?
- iOS中的图像裁剪视图– Bassel Ezzeddine
- 无法通过iOS SDK和原生Facebook应用程序对Facebook进行身份validation
- 比较两张图片是否相同(iOS)