1

我设置了 MPMoviePlayerController 来播放电影。我想检测电影上的触摸以显示几个按钮。我使用了代码:


 // The movie's window is the one that is active
        UIWindow* moviePlayerWindow = [[UIApplication sharedApplication] keyWindow];
        // Now we create an invisible control with the same size as the window
        UIControl* overlay = [[[UIControl alloc] initWithFrame:moviePlayerWindow.frame]autorelease];

    // We want to get notified whenever the overlay control is touched
    [overlay addTarget:self action:@selector(movieWindowTouched:) forControlEvents:UIControlEventTouchDown];

    // Add the overlay to the window's subviews
    [moviePlayerWindow addSubview:overlay];

但是播放控制器没有出现,我猜是因为播放器窗口没有触摸到。我怎样才能保持播放器控制器并且仍然检测到触摸?谢谢

4

1 回答 1

1

您必须创建自己的 UIView 的子类并将其添加为叠加层。

在该方法-(void) touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event中,您可以在触摸屏幕时做任何您想做的事情。

我在我的项目中做到了这一点。我已经在 Interface Builder 中实现了 VideoOverlay(UIView 的子类)的设计。当您必须添加用户必须与之交互的其他元素时,这会容易得多。

于 2010-03-22T12:29:16.827 回答