MPMoviePlayerController с пользовательской кнопкой на панели инструментов
Возможно, вы видели видео через трубку в iPhone.
Обычный MPMoviePlayerController имеет предыдущие, следующие и кнопки воспроизведения/паузы.
У вас в трубке есть еще две кнопки на нем.
= > Добавить в избранное на левой стороне.
= > Отправьте это видео с правой стороны.
Я хочу реализовать то же самое для своего приложения.
Но мне не удалось выяснить свойство или методы, касающиеся - реализации этого.
Как мне нужно на нем кнопки?
- Когда пользователь просматривает видео, на экране не должно быть кнопок.
- Когда пользователь нажимает на видео - панель инструментов находится сверху и в центре.
- На центральной панели инструментов есть три кнопки на ней: Предыдущий - следующий -play/pause
- Я хочу добавить кнопку рядом с следующей кнопкой и предыдущей кнопкой.
Заранее благодарим за помощь.
Сагар.
Ответы
Ответ 1
Я не думаю, что вы можете изменить интерфейс представления Apple.
Общий подход будет состоять в том, чтобы воспроизвести ваше видео, а затем после этого показать представление с помощью желаемых кнопок/и/или параметров для пользователя.
Пример этого можно увидеть с помощью приложения YouTube на iPhone. После воспроизведения видео с YouTube, пользователь отправляется на сводный просмотр со ссылками, чтобы снова просмотреть видео, любить его, делиться им и т.д.
Ответ 2
Я бы сказал, что может быть возможно просто установить свойство MPMoviePlayerController
movieControlMode
на MPMovieControlModeHidden
и добавить к нему подвью с вашей собственной коллекцией кнопок, заголовков и т.д. Но MPMoviePlayerController
наследует только от NSObject
, поэтому вы не могли этого сделать. Возможно, вы можете подклассифицировать MPMoviePlayerController
и настроить свой собственный материал при вызове play
, но опять же, я полагаю, MPMoviePlayerController
будет отображаться как модальный полноэкранный вид и скрыть все, что вы настроите.: -\
Если все, что вы хотите сделать, это беспорядок с внешним видом элементов управления, я знаю, что вы можете обходиться с помощью методов различных объектов drawRect:
, чтобы переопределить, как рисуются полосы и кнопки.
Например, при создании категории или подкласса UINavigationBar
и реализации drawRect:
, как показано ниже, будет создана пользовательская панель навигации:
- ( void )drawRect:( CGRect )rect
{
[ [ UIImage imageNamed:kSTNavigationBarBackgroundImageName ] drawInRect:CGRectMake( 0.0, 0.0, self.frame.size.width, self.frame.size.height ) ];
}
Это заменяет стандарт Apple на поиск навигационных панелей и заменяет его собственным ресурсом изображения. Мы делаем это, среди прочего, для наших приложений.