У меня AVPlayerViewController
с AVPlayer
внутри. По умолчанию элементы управления воспроизведением отображаются в нижней части представления, есть ли способ сделать так, чтобы они отображались в верхней части представления?
Изменить положение элементов управления AVPlayerViewController
Ответы (2)
AVPlayerViewController
имеет частный UIView *_controlsView
, в котором находится стойка управления. Вы можете перебирать подвиды контроллера представления или создавать интерфейс, который предоставляет это свойство, чтобы получить ссылку на него.
Так как это недокументированное представление, будьте осторожны при работе с частными свойствами. Игрок может даже не поддерживать перемещение _controlsView
.
Я бы также посмотрел на свойство AVPlaybackControlsViewController *_playbackControlsViewController;
, если _controlsView
не совсем соответствует вашим потребностям.
AVPlayerViewController
частный заголовок (для справки).< /а>
Там нет поддерживаемого встроенного способа. Для этого вам придется свернуть свои собственные элементы управления.
Также имейте в виду, что представление AVPlayerViewController не обязательно должно занимать весь экран. Таким образом, элементы управления могут отображаться в нижней части представления, но это не означает, что они должны отображаться в нижней части экрана. Спроектируйте представление таким образом, чтобы оно не мешало другому интерфейсу.
UIView
с эффектом размытия, который занимает нижние 100 пикселей экрана. Этот UIView
накладывается поверх AVPlayerViewController
, вся идея заключается в том, что видео воспроизводится в фоновом режиме, а к видео применяется эффект размытия. На данный момент органы управления находятся за моим UIView
. Я попытался поместить весь вид над UIVIew
, который отлично работает, однако затем у меня есть черный экран за размытием, что превосходит цель.
- person Alk; 22.06.2016