【发布时间】:2018-10-05 13:20:05
【问题描述】:
我有一个带有控件的 videoPlayer。 这些在 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)
])
}
showsPlaybackControls 设置为 True,不过这是默认设置
有其他人遇到过这个问题吗?
【问题讨论】:
-
我无法发表评论。这没有多大意义。
-
好的,将其添加到我的答案中。
标签: swift safearealayoutguide avkit