我在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
}