【发布时间】:2017-06-15 02:03:32
【问题描述】:
我有一个 AVPlayer,它位于 collectionview 单元格内,它位于 UICollectionView 内,位于 collectionview 单元格内。
我想为 AVPlayers 框架设置动画以适应整个屏幕,本质上是一个全屏过渡,但是由于层次结构,我无法访问主 collectionview 键窗口...
这是我目前用来访问全屏边界的代码。
let window = UIApplication.shared.keyWindow!
let v = UIView(frame: CGRect(x: -(window.frame.origin.x), y: (window.frame.origin.y) / 2, width: (window.frame.width) / 2, height: (window.frame.height) / 2 ))
UIView.animate(withDuration: 1, delay: 0, options: UIViewAnimationOptions.curveEaseOut, animations: {
self.playerView?.bounds = v.bounds
self.layoutIfNeeded()
}, completion: { (completed) in
})
当前所做的是将 playerView 屏蔽到单元格中嵌套 collectionView 的边界。这让我相信,因为层次结构如何,这种方法可能不可行。
我希望有像 AVPlayer.fullscreen() 之类的方法,因为我知道可以使用 AVPlayerControllers 覆盖视图获取全屏视频,但我不希望用户必须按下按钮才能去全屏。我更喜欢目前只点按视频的方法。
有什么建议吗?
【问题讨论】:
标签: ios swift uicollectionviewcell avplayer avplayerviewcontroller