iOS MPMoviePlayer在离开全屏后触发随机动作

iOS MPMoviePlayer在离开全屏后触发随机动作,ios,mpmovieplayercontroller,Ios,Mpmovieplayercontroller,我有一个有线问题,我的MPMoviePlayer在离开全屏时会触发一个动作,至少看起来是这样。实际上,它重复了以前发生的动画。我录下来是因为很难解释,这是视频 知道发生了什么吗 尽管这肯定只是一个猜测,但我仍然确信您的问题是MPMoviePlayerController的一个常见陷阱 我将非常仔细地查看您的视图将出现/视图显示实现 记住,当视图变得可见时,这些都会被调用,当全屏播放结束/切换回嵌入式模式时,也会发生这种情况,因为这会显示您的视图(再次) 确保仅在需要时才触发这些方法中触发的任何动

我有一个有线问题,我的MPMoviePlayer在离开全屏时会触发一个动作,至少看起来是这样。实际上,它重复了以前发生的动画。我录下来是因为很难解释,这是视频


知道发生了什么吗

尽管这肯定只是一个猜测,但我仍然确信您的问题是
MPMoviePlayerController
的一个常见陷阱

我将非常仔细地查看您的
视图将出现
/
视图显示
实现

记住,当视图变得可见时,这些都会被调用,当全屏播放结束/切换回嵌入式模式时,也会发生这种情况,因为这会显示您的视图(再次)

确保仅在需要时才触发这些方法中触发的任何动画操作


非常适合的信号是
MPMoviePlayerController
fullscreen
属性。在外观回调中,检查该属性是否设置为
YES
,如果设置为YES,请不要启动不需要的操作。

非常感谢,这确实是问题所在。我从来没有想到过。现在我不知道如何解决它,因为当播放器离开全屏时,它的fullscreen属性设置为NO。我需要一种方法来知道播放器来自全屏。有什么想法吗?我用viewDidLoad代替ViewDidDisplay解决了这个问题。非常感谢:)@drale2k在使用viewDidLoad触发动画时,您应该小心。我建议不要这样做,并建议订阅MPMoviePlayerWill/DidEnter全屏通知。在这些处理程序中,您可以设置一个标志,表示您的播放器刚刚来自全屏,而这反过来又可以作为viewWill/DIDSEAMER实现中的一个信号。哦,顺便说一句,我的错误是有点含糊不清;你应该能够在你的视图中获得一个
全屏==YES
将出现(但不是在ViewDidDisplay中)。呵呵,这正是我试图做的,但无论出于什么原因,2个通知没有触发,我在viewDidLoad中尝试了。我以后再试试。现在我很高兴我在最坏的情况下解决了它:)顺便说一句,全屏仍然没有出现在视图中。我认为只有在全屏播放时才是肯定的,而不是在离开时。