MPMoviePlayerViewController, удалить символ быстрого времени / добавить фоновое изображение? - PullRequest
4 голосов
/ 01 декабря 2011

У меня есть MPMoviePlayerViewController, который воспроизводит аудио. Я хотел бы удалить логотип Quicktime и / или добавить пользовательское фоновое изображение в плеер, но сохранить элементы управления воспроизведением. Клянусь, я делал это раньше, чем до iOS 5, но я не могу переосмыслить это! Вещи, которые я пробовал:

- Добавление подпредставления в MPMoviePlayerViewController. Размещает подпредставление над элементами управления воспроизведением, не хорошо.

-setBackgroundЦвет фильмаPlayer с рисунком изображения. Ничего не делает.

-setView на весь MPMoviePlayerViewController. Как и ожидалось, элементы управления воспроизведением и панель навигации исчезли. Полагаю, это может сработать, но мне нужно было бы заново создать все элементы управления воспроизведением вручную, но я бы предпочел этого не делать.

Может ли кто-нибудь пролить свет?

Ответы [ 2 ]

8 голосов
/ 01 декабря 2011

Проверьте MPMoviePlayerController свойство backgroundView.

Из справочника по классам MPMoviePlayerController ;

backgroundView

Настраиваемый вид, который отображается за фильмом содержание. (Только для чтения)

@ свойство (неатомное, только для чтения) UIView * backgroundView

Обсуждение Это представление обеспечивает содержание поддержки, поверх которого содержание фильма отображается. Вы можете добавить подпредставления в фоновом режиме, если хотите для отображения пользовательского фонового содержимого.

Это представление является частью иерархии представления, возвращаемой свойством представления.

Доступность Доступно в iOS 3.2 и более поздних версиях. Объявлен в MPMoviePlayerController.h

Попробуйте что-то вроде этого (при условии, что ваш экземпляр MPMoviePlayerController называется moviePlayerController):

patternView = [[UIView alloc] initWithFrame:self.view.bounds];
patternView.backgroundColor = [UIColor redColor];
[moviePlayerController.backgroundView addSubview:patternView];
[patternView release];
2 голосов
/ 15 января 2012

Ответ Тилла верен для iPhoneOS 3. Это изменилось в iOS 4 и 5.

Apple теперь добавила свойство только для чтения в MPMoviePlayerViewController, выставляя MPMovieController.MPMovieController имеет backgroundView, который следует использовать.

Теперь вы захотите сделать что-то вроде этого:

patternView = [[UIView alloc] initWithFrame:self.view.bounds];
patternView.backgroundColor = [UIColor redColor];
[moviePlayerController.moviePlayer.backgroundView addSubview:patternView];
[patternView release];
...