我如何自动调整AVPlayerLayer的大小,以便在Swift的整个父视图上显示视频的完整尺寸 &



我试图使用AVPlayerLayerUIImage之上显示视频。视频应该调整自己的大小,使完全视频在图像视图上显示,即使它必须拉伸自己来显示。不幸的是,我没有得到这些结果,我的视频最终看起来像这样,而不是在模拟器上。结果图片

我试着将AVPlayerLayer.frame手册设置为图像视图的大小,以演示我希望它在所有不同的iPhone尺寸上看起来是什么样子。目标结果图像

下面是我的代码:
let playerLayer = AVPlayerLayer(player: queuePlayer)
playerLayer.frame = feedBackground.bounds
playerLayer.videoGravity = .resizeAspectFill
feedBackground.layer.masksToBounds = true
feedBackground.layer.addSublayer(playerLayer)

(feedBackground is a UIImage)

不知道它是否重要但是feedBackground的contentMode是缩放到填充

我对应用程序开发很陌生,所以感谢您花时间阅读我的问题,感谢您可能有任何解决方案:)

我找到了解决办法。我在viewDidLoad中集成视频并将playerLayer.frame设置为等于feedBackground。边界-我认为它不工作的原因是由于图形还没有加载,所以我不能设置我的视频帧等于feedbackground帧,因为feedbackground帧还没有计算/制作。

也许我错了,无论它通过移动我的代码viewDidAppear或viewWillAppear工作。

最新更新