Получение ссылки на MPMoviePlayerController при касании пользователя

В настоящее время у меня есть MPMoviePlayerController с controlStyle, установленным на MPMovieControlStyleNone.

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

Я установил UITapGestureRecognizer в представлении MPMoviePlayerController, которое правильно вызывает обработчик событий при касании MPMoviePlayerController.

Однако я могу получить представление MPMoviePlayerController только через UITapGestureRecognizer, который передается обработчику событий, поэтому я не могу получить доступ к фактическому объекту MPMoviePlayerController для повторного воспроизведения видео.

Я новичок в разработке iOS и objective-c, так что это может быть глупый вопрос. Есть ли способ получить ссылку на MPMoviePlayerController, чтобы снова начать играть в него?

Вот код, используемый для настройки UITapGestureRecognizer:

UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(handleMoviePlayerTap:)];
tap.numberOfTapsRequired = 1;
tap.delegate = self;
[_moviePlayer.view addGestureRecognizer:tap];

Вот обработчик, в котором еще ничего не реализовано:

- (void)handleMoviePlayerTap :(UITapGestureRecognizer*) tap
{
    NSLog(@"Movie player was tapped");
    // Somehow start playing the video again
}

person jennafin    schedule 25.10.2014    source источник
comment
не добавляйте его к _moviePlayer.view .. добавляйте к его родительскому представлению.   -  person rahul_send89    schedule 25.10.2014
comment
У меня есть UITapGestureRecognizer для родительского представления, которое я хочу обрабатывать по-другому.   -  person jennafin    schedule 25.10.2014
comment
хорошо, хотя _moviePlayer MPMoviePlayerController .. зависит от того, как вы добавляете MPMoviePlayerController .. пожалуйста, проверьте ссылку   -  person rahul_send89    schedule 25.10.2014
comment
_moviePlayer - это мой MPMoviePlayerController. Не знаю, какое отношение имеет эта ссылка. Спасибо   -  person jennafin    schedule 25.10.2014
comment
объявить _moviePlayer глобально .. таким образом вы можете вызвать [_moviePlayer play] в handleMoviePlayerTap ..   -  person rahul_send89    schedule 25.10.2014
comment
У меня на экране много MPMoviePlayerController, поэтому мне нужно найти ссылку на правильный. Думаю, я просто прибегну к проверке положения касания и посмотрю, в каких MPMoviePlayerController границах оно находится. Спасибо   -  person jennafin    schedule 25.10.2014
comment
я не думаю, что есть способ получить MPMoviePlayerController из его дочернего представления MPMovieView. вы можете сделать невидимым вид для каждого MPMoviePlayerController и добавить кран. используйте .tag как различие для каждого невидимого вида.   -  person rahul_send89    schedule 25.10.2014


Ответы (1)


В итоге я использовал NSMutableDictionary для отображения вида на MPMoviePlayerController.

person jennafin    schedule 25.10.2014