первую очередь, никогда не добавляйте подвидов в MPMoviePlayerController
«s самого представления. Добавьте их в фоновое представление или его родительский элемент в качестве родного брата.
Это обсуждается в документации MPMoviePlayerController
:
Рассмотрим вид Movie Player, чтобы быть непрозрачной структурой. Вы можете добавить свои собственные подзаголовки в контент слоя поверх фильма, но вы не должны изменять какое-либо из существующих подзонов, но вы . В дополнение к материалам наложения поверх видеоролика вы можете предоставить пользовательский фон , добавив subviews в представление в свойстве backgroundView.
второго, при использовании надлежащего полноэкранного режима, то MPMoviePlayerController
не повторно использовать обычный вид, но добавляет его содержимое непосредственно на UIWindow
инстанции. Следовательно, при использовании «правильного» полноэкранного режима вы получаете только следующую опцию; найдите текущее ключевое окно и добавьте свои элементы управления непосредственно к нему после перехода в полноэкранный режим.
Что-то вроде этого нужно сделать:
//are we in fullscreen-mode?
if (player.fullscreen)
{
UIWindow *window = [UIApplication sharedApplication].keyWindow;
if (!window)
{
window = [[UIApplication sharedApplication].windows objectAtIndex:0];
}
//we now got a proper window for use of our controls ...
//add them to the window instance!
}
В качестве альтернативы, просто не использовать «правильный» на весь экран, но размер мнение MPMovieViewController, чтобы покрыть весь экран - Я называю это «подделка» на весь экран. Одним из больших преимуществ этого варианта является то, что вы сможете использовать/улавливать/покрывать нормальную переориентацию.
Я сделаю пользовательские элементы управления на «поддельном» полноэкранном режиме, thx! – 1337code
О вашей первой точке - то, как я ее читал, нормально добавлять подпункты в представление movieplayer, но не изменять какие-либо изначально предоставленных представлений (например, итерации через subviews и их изменение). – Grav
Вы можете безопасно добавлять подпункты к представлению плеера в соответствии с документацией «Вы можете добавить subviews к представлению в этом свойстве. Вы можете сделать это в тех случаях, когда вы хотите отображать пользовательские элементы управления воспроизведением или добавить другой настраиваемый контент, который имеет отношение к ваше приложение ". https://developer.apple.com/LIBRARY/IOS/documentation/MediaPlayer/Reference/MPMoviePlayerController_Class/index.html#//apple_ref/occ/instp/MPMoviePlayerController/view – SomeGuy