MPMoviePlayer完成按钮问题MPMoviePlayer完成按钮问题(MPMoviePlay

2019-05-12 08:33发布

我使用的是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