MPMoviePlayerViewController — как перехватить или изменить функцию кнопки Done

#iphone #ios #mpmovieplayercontroller #media-player #avfoundation

#iPhone #iOS #mpmovieplayercontroller #медиаплеер #avfoundation

Вопрос:

Я использую MPMoviePlayerViewController. У меня есть UINavigationController, но вместо того, чтобы нажимать на него, я вызываю presentModalViewController. Это потому, что я хочу, чтобы MPMoviePlayerViewController имел переход с перекрестным растворением (и я могу установить для этого modalTransitionStyle). Она отображается правильно и становится на место. Однако, когда он завершается, это приводит к тому, что предыдущий просмотр сдвигается на место. Это не то, чего я хочу. Я попытался установить modalTransitionStyle и modalPresentationStyle без эффекта.

Я также выделил подкласс MPMoviePlayerViewController, но не смог понять, как перехватить его функциональность по умолчанию, которая отключает себя при завершении воспроизведения или при нажатии кнопки «Готово». Возможно, если бы я мог это сделать, я смог бы решить вышеупомянутую проблему.

Ответ №1:

Я бы посоветовал вам подключить обработчики уведомлений для MPMoviePlayerDidFinishNotification и MPMoviePlayerWillExitFullScreenNotification . Первое вызывается, как только воспроизведение завершено / done / остановлено. Последнее отправляется, как только пользователь нажимает на кнопку «ГОТОВО» в MPMoviePlayerController полноэкранном интерфейсе.

Комментарии:

1. Верно. Я не ожидал, что это сработает, но прослушивание MPMoviePlayerDidFinishNotification и отключение моего контроллера просмотра от этого обратного вызова, по-видимому, переопределяет поведение по умолчанию.