MPMoviePlayerViewController 覆盖控件在重用后不响应触摸
Posted
技术标签:
【中文标题】MPMoviePlayerViewController 覆盖控件在重用后不响应触摸【英文标题】:MPMoviePlayerViewController overlay controls NOT responding to touches after reuse 【发布时间】:2012-08-22 20:45:39 【问题描述】:这快把我逼疯了。
很简单,我有一个 MPMoviePlayerViewController 并且想要全屏显示电影。 在 ios 5.0+ 上使用 ARC 我想让这个播放器应用程序范围内可重用。
电影第一次播放就覆盖了整个屏幕,播放效果惊人。覆盖控件正确显示并且对触摸的反应很好。我使用
[theMovie.moviePlayer setContentURL:movieURL];
[theMovie.moviePlayer prepareToPlay];
[self presentViewController:theMovie animated:YES completion:^
[theMovie.moviePlayer play];
];
播放完毕后,我拦截通知并运行它
[self dismissViewControllerAnimated:YES completion:^
[theMovie.moviePlayer stop];
[theMovie.moviePlayer setContentURL:nil];
];
现在,问题是从第二次开始播放电影时,它会显示控件但播放器不再响应电影区域中的触摸。我可以使用控件、返回、播放/暂停、搜索、完成等……但不能在非控件区域触摸来切换控件的可见性。如果我让它正常播放它会自动隐藏,但在触摸非控制区域后不会再次出现。
我不知道这里发生了什么。如果你能帮助我,我会很高兴。
谢谢, g.
【问题讨论】:
【参考方案1】:将 MPMoviePlayerViewController 的声明移动到 .h 文件中,在 m 文件中 viewDidLoad 或者 viewWillAppear 只需分配它并初始化 :)
【讨论】:
以上是关于MPMoviePlayerViewController 覆盖控件在重用后不响应触摸的主要内容,如果未能解决你的问题,请参考以下文章