2010-12-15 2 views
1

Я создавал экземпляр MPMoviePlayerViewController и загружал фильм с ним. Как я могу определить, когда пользователь прикасается где-нибудь к игроку?Как обнаружить прикосновение к MPMoviePlayerViewController

Я добавил наложение, и он работает так. Но проблема в том, что теперь у меня нет элементов управления на проигрывателе (громкость, пауза и т. Д.). Есть ли уведомление, чтобы отобразить это?

+0

Лучший способ заключается в подклассе MoviePlayerController, но если вам нужно обработать одно нажатие, чтобы отклонить представление, f.e. для интро-видео я сделал простое решение ... – bontoJR 2010-12-15 10:06:09

ответ

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; 
} 
0

Еще один простой вариант, чтобы поставить большой невидимую кнопку над видом фильма игрока.

0

Возможно, у вас есть два распознавателя. Вы можете добавить распознавани от вас родительского контроллера соответствует <UIGestureRecogniserDelegate>, установить себя в качестве делегата жеста распознавани и реализации:

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

Так все они могут играть вместе счастливо.

Смежные вопросы