我编写了自定义控件,允许用户通过点击或拖动显示某种乐谱图像的自定义currentPlaybackTime
来更改MPMoviePlayerController
的{{1}}。代码使用触摸事件的x位置来更新UIButton
,一切正常。我还有一个currentPlaybackTime
(一条垂直的红线),显示用户触摸控件的位置。
如果用户使用滑块(滑块)控件更改了电影播放器的CALayer
属性,我现在要做的是更新红线(CALayer对象)位置。
显然currentPlaybackTime
总是在电影播放时更新,但有没有办法通过向前或向后跳过来检测用户是否干扰了这个?
非常感谢。
答案 0 :(得分:1)
您可以使用键值观察来跟踪currentPlaybackTime
中MPMoviePlayerController
的更改,但这可能会产生大量事件,从而对您的效果产生负面影响。也许您也可以将KVO与playbackState
的{{1}}属性一起使用,我相信当用户开始寻找时它会发生变化。
另一种选择是您只需设置一个频繁更新的重复计时器,每次触发时都会检查MPMoviePlayerController
的新值。但这可能看起来不稳定,也可能影响性能。