我在iPhone 7 Plus和iPhone 6 Plus上看到奇怪的行为。这不会在模拟器上发生,只会在物理设备上发生。

如果您有一个AVPlayer(视频具有白色背景)并且其连接的视图具有白色背景(音频播放器小于父视图),则AVPlayer周围会出现边框。

这样做的目的是将视频混合到背景中,以创建很酷的效果。它在除物理Plus型号设备之外的所有设备上均能正常工作。

我最好的猜测是有一些完美的白色差异。有谁知道该如何解决或避免这种情况?

最佳答案

我遇到了这个确切的问题,我的解决方案是在AVPlayerLayer容器内添加UIView,并在插入1pt的playerLayer上添加遮罩。

override func layoutSubview() {
    super.layoutSubviews()

    // .. sets frame to players source size

    let maskLayer = playerLayer.mask ?? CALayer()
    maskLayer.frame = playerLayer.bounds.insetBy(dx: 1, dy: 1)
    maskLayer.backgroundColor = UIColor.white.cgColor
    playerLayer.mask = maskLayer
}

07-26 07:31