如何检测MPMoviePlayerViewController上的触摸

时间:2010-12-15 09:02:41

标签: iphone objective-c

我实例化了MPMoviePlayerViewController并用它加载了电影。如何检测用户何时触摸播放器上的任何位置?

我添加了叠加层,就像那样。但问题是现在我没有控制播放器(音量,暂停等)。有没有通知显示这个?

3 个答案:

答案 0 :(得分:1)

您可以将手势识别器添加到作为电影播放器​​父级的视图中。

然后您可以向手势识别器添加一个委托,以检查确切命中的内容......并在不是媒体播放器的情况下丢弃手势识别器事件。

代码看起来像:

- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch {
     UIView *treffer = [app.window hitTest:[touch locationInView:app.window] withEvent:nil];

     if (treffer == yourvideoplayerview) return YES;
     return NO;
}

答案 1 :(得分:0)

另一个简单的选择是在电影播放器​​视图上放置一个不可见的大按钮。

答案 2 :(得分:0)

你可能有两个认知者在战斗。您可以从父控制器添加识别器,符合<UIGestureRecogniserDelegate>,将自己设置为手势识别器的委托并实施:

- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldRecognizeSimultaneouslyWithGestureRecognizer:(UIGestureRecognizer *)otherGestureRecognizer
{
    return YES;
}

所以他们都可以愉快地玩耍。