iOS - измените размер слоя представления, чтобы заполнить фон iPhone X Max - PullRequest
0 голосов
/ 03 апреля 2019

Я следую https://stackoverflow.com/a/46337372/2139691, чтобы иметь представление для заполнения фона.Поэтому я использую вид с именем myview с синим фоном, но при добавлении видеослоя у меня получаются плохие результаты.

class MovViewController: UIViewController {

    var avPlayer: AVPlayer!
    @IBOutlet weak var myview: UIView!

    override func viewDidLoad() {
        super.viewDidLoad()
        let filepath: String? = Bundle.main.path(forResource: "video_fondo", ofType: "mp4")
        let fileURL = URL.init(fileURLWithPath: filepath!)

        let player = AVPlayer(url: fileURL)
        let playerLayer = AVPlayerLayer(player: player)

        playerLayer.frame = myview.bounds
        myview.layer.insertSublayer(playerLayer, at: 0)
        player.play()

    }
}

Результат: enter image description here

Ответы [ 2 ]

1 голос
/ 04 апреля 2019

Наконец я получаю это используя:

playerLayer.videoGravity = AVLayerVideoGravity.resize
1 голос
/ 03 апреля 2019

Фон слоя игрока по умолчанию прозрачный.Попробуйте установить цвет фона на слое игрока, если вы хотите скрыть синий вид позади.

playerLayer.backgroundColor = UIColor.black.cgColor
...