You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

AVPlayer在大屏iPhone上无法占满视图宽度的问题求助

AVPlayer在大屏iPhone上无法占满视图宽度的问题求助

大家好,我碰到一个棘手的问题:在大屏iPhone(比如模拟器里的iPhone 16 Plus)上,我的AVPlayer播放视频时没法按预期占满整个视图宽度,但在iPhone 15 Pro上运行完全正常。我尝试了各种方法来修复,比如给视频设置约束,但都没起作用。下面是我的代码和相关截图,提前感谢大家的帮助!

@IBOutlet weak var cover: UIView!
private var playerLayer: AVPlayerLayer?

private func setupVideoCover() {
    player = AVPlayer(url: videoURL)
    player?.isMuted = true
    player?.actionAtItemEnd = .none
 
    playerLayer = AVPlayerLayer(player: player)
    
    if let playerLayer = playerLayer {
        cover.layer.sublayers?.forEach { $0.removeFromSuperlayer() }
        cover.layer.addSublayer(playerLayer)
    }

    NotificationCenter.default.addObserver(
        self,
        selector: #selector(restartVideoFromBeginning),
        name: .AVPlayerItemDidPlayToEndTime,
        object: player?.currentItem
    )
    
    player?.play()
}

override func viewDidLayoutSubviews() {
    super.viewDidLayoutSubviews()
    playerLayer?.videoGravity = .resizeAspectFill
    playerLayer?.frame = cover.bounds.centered(in: cover.bounds)
}

override func viewWillAppear(_ animated: Bool) {
    super.viewWillAppear(animated)
    setupVideoCover()
}

视频播放界面
界面截图1
界面截图2
界面截图3

备注:内容来源于stack exchange,提问作者Python12492

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.15 08:53:09