我有一个AVPlayer,它位于CollectionView单元格内,位于UICollectionView内部,位于collectionview单元格内。嵌套AVPlayer全屏?
我想动画AVPlayers框架,以适应整个屏幕,但是本质上是因为我无法访问主的CollectionView keywindow层次的全屏过渡...
这是我的代码迄今为止试图访问全屏界面。
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覆盖视图来获得全屏视频,但我不希望用户不得不按下按钮来去全屏。我更喜欢我目前只是点击视频的方法。
任何建议?
我可以使动画过渡? – Stefan
更好的问题是,当你说从单元格中移除AVPlayerLayer时,你的意思是将它从单元格中完全移除,然后在rootView中创建它的新实例。因为如果我这样做,当我将它放在根视图中时,我如何访问AVPlayerLayer的前一个位置。 (如果可能的话,我想将它从之前的位置移动到全屏,反之亦然)。 – Stefan