iPad SDK: как подключить готовую кнопку MPMoviePlayerViewController? - PullRequest
7 голосов
/ 25 июля 2010

Я создаю добавление для iPad и использую MPMoviePlayerViewController для воспроизведения видео.

Видео занимает весь экран iPad следующим образом.

playerViewController.view.frame = self.view.frame;

Мне нужен способ, чтобы пользователь мог нажать кнопку, чтобы перейти на другой экран.

Я замечаю, что автоматически появляется кнопка «Готово» в контроллере навигации при создании MPMoviePlayerViewController.

Мои вопросы:

a.) Есть ли способ подключиться к существующемукнопка готово?По сути, я просто хочу отклонить контроллер представления.

b.) Если это не сработает.Как я могу добавить свою собственную кнопку?Как я уже упоминал выше, MPMoviePlayerViewController занимает весь экран.У меня была идея создать MPMoviePlayerViewController в кадре и оставить немного вертикального пространства, чтобы я мог добавить свою собственную панель инструментов.

Я бы предпочел предложения о том, как реализовать a.)?

Если это невозможно, может быть, есть некоторые предложения о том, как закрыть MPMoviePlayerViewController с помощью какого-либо нажатия кнопки?

Вся помощь приветствуется.

Ответы [ 2 ]

10 голосов
/ 25 июля 2010

Из документов:

кнопка «Готово» приводит к приостановке воспроизведения фильма, когда проигрыватель выходит из полноэкранного режима. Если вы хотите обнаружить этот сценарий в своем коде, вам следует отслеживать другие уведомления, такие как MPMoviePlayerDidExitFullscreenNotification.

Итак, попробуйте соблюдать это уведомление:

[[NSNotificationCenter defaultCenter] addObserver:self
                                         selector:@selector(moviePlayerDidExitFullscreen:)
                                             name:MPMoviePlayerDidExitFullscreenNotification
                                           object:nil];

и позже:

- (void)moviePlayerDidExitFullscreen:(NSNotification *)theNotification {
    // do whatever you need to...
}

Редактировать: Мне кажется, я неправильно понял ваш вопрос. То, что вы хотите, это метод
-dismissMoviePlayerViewControllerAnimated

Я полагаю, вы представляете это с помощью -presentMoviePlayerViewControllerAnimated:? Вы можете добавить кнопку, используя moviePlayer.navigationItem.rightBarButtonItem (или влево, или в зависимости от того). Установите цель этой кнопки на вашем контроллере представления и перехватите это действие, чтобы вызвать -dismiss...

8 голосов
/ 30 сентября 2010

Здравствуйте, это можно сделать, используя то, что сказал jbandes

[[NSNotificationCenter defaultCenter] addObserver:self selector: @selector(playbackDidFinish:) name:MPMoviePlayerPlaybackDidFinishNotification object:theMoviePlayer.moviePlayer];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...