У iPhone 7 Plus AVPlayer есть рамка вокруг (несоответствие цветов на белом)

Я вижу странное поведение на iPhone 7 Plus и iPhone 6 Plus. Это не происходит на симуляторе, только физическое устройство.

Если у вас есть AVPlayer (видео имеет белый фон), а представление, к которому оно прикреплено, имеет белый фон (аудиоплеер меньше родительского), вокруг AVPlayer появится граница.

Целью этого было объединить видео с фоном, чтобы создать крутой эффект. Он отлично работает на всех устройствах, кроме физических устройств модели Plus.

Мое лучшее предположение, что есть отличная разница белого. Кто-нибудь знает, как это исправить или избежать этого?

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
}
Другие вопросы по тегам