Как обнаружить прикосновения в окне MPMoviePlayerController и при этом использовать стандартное управление воспроизведением - PullRequest
1 голос
/ 22 марта 2010

У меня есть 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];</p>

<pre><code>    // 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];

но тогда контроллеры воспроизведения не появляются, я думаю, потому что окно плеера не получает касания. Как я могу сохранить контроллеры плеера и все еще обнаруживать касания?спасибо

1 Ответ

1 голос
/ 22 марта 2010

Вы должны создать свой собственный подкласс UIView и добавить его в качестве оверлея.

В методе -(void) touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event вы можете делать все, что хотите, когда касаетесь экрана.

Я сделал это в моем проекте. Я реализовал дизайн VideoOverlay (подкласс UIView) в Интерфейсном Разработчике. Намного проще, когда вам нужно добавить другие элементы, с которыми пользователь должен взаимодействовать.

...