![](/img/trans.png)
[英]Swift: Resize an AVPlayerLayer to match the bounds of its parent container
[英]How do I auto resize an AVPlayerLayer to show the video in its full size on the whole parent view in Swift
我試圖在UIImage
上使用AVPlayerLayer
顯示視頻。 視頻應該自行調整大小,以便在圖像視圖上顯示完整的視頻,即使它必須拉伸自己才能做到這一點。 不幸的是,我沒有得到這些結果,我的視頻最終在模擬器上看起來像這樣。 結果圖片
我嘗試將 AVPlayerLayer.frame 手冊設置為圖像視圖大小,以展示我的目標是讓它在所有不同的 iPhone 尺寸上看起來像什么。 目標結果的圖像
這是我的代碼:
let playerLayer = AVPlayerLayer(player: queuePlayer)
playerLayer.frame = feedBackground.bounds
playerLayer.videoGravity = .resizeAspectFill
feedBackground.layer.masksToBounds = true
feedBackground.layer.addSublayer(playerLayer)
(feedBackground 是一個 UIImage)
不知道它是否重要,但 feedBackground 的 contentMode 是按比例填充的
我對應用程序開發很陌生,所以感謝您抽出時間閱讀我的問題,並感謝您提供的任何解決方案:)
好吧,我找到了解決方案。 我將視頻集成到 viewDidLoad 中,並將 playerLayer.frame 設置為等於 feedBackground.bounds - 我認為它不起作用的原因是圖形尚未加載,所以我無法設置我的視頻幀等於 feedBackgrounds 框架 bcs feedBackgrounds 框架尚未計算/制作。
也許是錯的,無論是通過將我的代碼移動到 viewDidAppear 或 viewWillAppear 來實現的。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.