Приведенный выше ответ на самом деле неверен: представление не является закрытым, и вы можете добавить к нему представления. Вам просто нужно погрузиться достаточно глубоко, чтобы найти его.
Например, в iOS 5.1 вы можете попробовать что-то вроде этого:
UIView *fullscreenOverlayView = [[[[[[[mpPlayer view] subviews] objectAtIndex:0] subviews] objectAtIndex:0] subviews] objectAtIndex:2];
[fullscreenOverlayView addSubview:ccButton];
Это добавит кнопку CC к представлению, и если вы укажете правильное значение для рамки кнопки CC, она вставит кнопку в панель управления и скроет / отобразит ее при касании панели управления. К вашему сведению: это кадр, который я использую:
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 view] различен для разных версий iOS, поэтому рассматривайте это как обходной путь. Нет никаких гарантий, что это будет работать на iOS 6 и завершится сбоем на iOS 4.3.