2017-01-10 8 views
2

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

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

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

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

+0

У меня такая же проблема. – gohamgx

ответ

0

У меня была эта точная проблема, и мое решение заключалось в том, чтобы добавить AVPlayerLayer внутри контейнера UIView и добавить маску на слой игрока с вставкой 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 
}