3

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

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

这样做的目的是将视频混合到背景中以创造一种很酷的效果。它在除物理 Plus 型号设备之外的所有设备上都运行良好。

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

4

1 回答 1

1

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

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
}
于 2018-02-13T12:13:00.327 回答