2017-01-12 2 views
1

У меня есть AVPlayer, который получает нагрузки тривиальным образом в моей IOS 10 приложения:Динамически изменение размера AVPlayer в ИО 10

let player = AVPlayer(url: url) 

let controller = AVPlayerViewController() 
controller.player = player 

present(controller, animated: true) { 
    player.play() 
} 

Это открывает игрок, который занимает весь кадр окна. В идеале я бы хотел, чтобы игрок занимал половину экрана, поэтому в нижней части я могу добавить другой контент. Я хочу, чтобы дать пользователю возможность увеличить плеер на весь экран, возможно, с помощью наложения/кнопки, которые я часто увидеть:

enter image description here

Что лучший способ не иметь мой AVPlayer занять весь экран ? Какую документацию я должен просматривать?

ответ

2

Вместо того, чтобы звонить present, быть настраиваемым контроллером родительского представления и сделать AVPlayerViewController дочерним контроллером просмотра. Теперь, если вы выполняете правильный танец родитель-ребенок, вы можете просто установить frame вида AVPlayerViewController и добавить его в качестве подсмотра к вашему представлению. Представление сохраняет возможность для пользователя отправлять его в полноэкранный режим (у него будет кнопка с двойной стрелкой, которую вы покажете на скриншоте).

+1

Загружаемый пример проекта здесь: https://github.com/mattneub/Programming-iOS-Book-Examples/blob/master/bk2ch15p660EmbeddedAVKit/EmbeddedAVKit/ViewController.swift – matt

Смежные вопросы