У меня есть видеоплеер с элементами управления. Они не видны с iOS11 + без проблем до iOS10
Это демонстрация симулятора iPhone8.
Это демонстрация симулятора iPhoneX. Элементы управления не отображаются в нижней части проигрывателя
Я считаю, что это во многом связано с новой безопасной зоной. Мы используем contentOffset (ниже) для смещения сверху. Изменение значения не имеет значения. Нет элементов управления
Это код ниже, который я использую для настройки плеера:
let statusBarHeight: CGFloat = 20
let contentOffset: CGFloat = 50
func setupPlayerView() {
containerView.addSubview(moviePlayerController.view)
moviePlayerController.videoGravity = AVLayerVideoGravity(rawValue: AVLayerVideoGravity.resizeAspect.rawValue)
moviePlayerController.view.sizeToFit()
moviePlayerController.showsPlaybackControls = true
moviePlayerController.view.translatesAutoresizingMaskIntoConstraints = false
if #available(iOS 11.0, *) {
moviePlayerController.view.topAnchor.constraint(equalTo: safeAreaLayoutGuide.topAnchor, constant: contentOffset).isActive = true
} else {
moviePlayerController.view.topAnchor.constraint(equalTo: topAnchor, constant: statusBarHeight + contentOffset).isActive = true
}
NSLayoutConstraint.activate([
moviePlayerController.view.bottomAnchor.constraint(equalTo: bottomAnchor),
moviePlayerController.view.leftAnchor.constraint(equalTo: leftAnchor),
moviePlayerController.view.rightAnchor.constraint(equalTo: rightAnchor)
])
}
Для showPlaybackControls установлено значение True, хотя это значение по умолчанию.
Кто-нибудь еще сталкивался с этой проблемой?