2009-11-16 3 views
0

Может ли кто-нибудь предложить мне, как получить представление, содержащее все кнопки из «MPMoviePlayer»?iPhone MPMoviePlayer получить вид кнопок

Если вы не знаете, по крайней мере, как вы получите основной вид/окно MPMoviePlayer.

UPDATE: Мне нужно сделать это, чтобы добавить кнопку на вид контроллера. Это выглядело бы примерно так: Example http://img338.imageshack.us/img338/5184/poz.jpg

Заранее спасибо!

+2

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

+0

Может ли кто-нибудь дать какое-либо предложение? – mxg

ответ

5

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

Образец примера Apple's MoviePlayer показывает, как это сделать.

+0

Снимок экрана выше - это приложение из AppStore. – mxg

+0

+1 для правильного и единственно возможного ответа – Till

+0

До тех пор, если вы собираетесь уделять больше внимания, вы увидите, что кнопка «искать» находится на панели, а не в отдельном окне. Когда элементы управления исчезнут, кнопка исчезнет. Кроме того, кнопки Next/Prev отключены. – mxg

0

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

Например, в прошивкой 5.1, вы можете попробовать что-то вроде этого:

UIView *fullscreenOverlayView = [[[[[[[mpPlayer view] subviews] objectAtIndex:0] subviews] objectAtIndex:0] subviews] objectAtIndex:2]; 
[fullscreenOverlayView addSubview:ccButton]; 

Это добавит кнопку CC в представлении, а если указать правильное значение для фрейма кнопки CC, он вставляет кнопку на панель управления и скрывает/показывает ее с панели управления при касании. FYI: это кадр я использую:

BOOL isPortrait = UIInterfaceOrientationIsPortrait([UIApplication sharedApplication].statusBarOrientation); 

// all of these values are just based on measurement on screen 
// to make sure that the CC button "seems" to be part of the player's control panel 
if (isPortrait) 
{ 
    return CGRectMake(222, 880, 40, 40); 
} 
else { 
    return CGRectMake(350, 625, 40, 40); 
} 

ПРИМЕЧАНИЕ: множество подвидов из [зрения] mpPlayer различны для разных версий IOS, поэтому рассматривать это как работу вокруг только. Нет никакой гарантии, что это будет работать на iOS 6, и произойдет сбой на iOS 4.3.

+0

Просто, чтобы уточнить, fullscreenOverlayView на самом деле представляет собой представление, содержащее все кнопки управления. –