Видео YTPlayer WebView не соответствует продолжительности анимации - PullRequest
0 голосов
/ 05 ноября 2018

У меня есть 40 x 40 YTPlayerView, размещенный в левом нижнем углу экрана, который я хочу анимировать к центру экрана и увеличивать размеры до 325 x 325 одновременно, когда пользователь нажимает на кнопку. Есть еще один анимационный блок, который возвращает его в исходное место и размер.

У меня установлена ​​продолжительность анимации 0,5. Но видео не оживляет, как ожидалось. Похоже, видео и YTPlayerView меняют размер по отдельности. Видео мгновенно увеличивается до 325 x 325, а кадр медленно увеличивается до 325 x 325, поэтому на время анимации видео обрезается.

Есть похожее поведение, когда оно возвращает к исходному месту и размеру. Видео мгновенно переходит к 40 х 40, пока кадр все еще находится в центре при 325 х 325. Затем кадр переходит к 40 х 40 в течение заданной длительности 0,5. Оставшаяся область внутри кадра, когда видео меньше, просто серая.

Вот инициализация YTPlayerView. Я делаю это программно.

youtubeplayer2 = YTPlayerView.init(frame: CGRect(x: 12, y: 568, width: 40, height: 40))
youtubeplayer2.contentMode = UIViewContentMode.scaleAspectFit
youtubeplayer2.backgroundColor = UIColor.black
youtubeplayer2?.delegate = self

Вот первый анимационный блок

UIView.animate(withDuration: 0.5, delay: 0, options: [.curveEaseIn], animations: {

            self.youtubeplayer2?.frame = CGRect(origin: CGPoint(x: 25, y: 5), size: CGSize(width: 325, height: 325))
            self.youtubeplayer2?.layoutIfNeeded()
        }, completion: nil)

Вот второй анимационный блок

UIView.animate(withDuration: 0.5, delay: 0, usingSpringWithDamping: 1, initialSpringVelocity: 1,
                    options: [.curveEaseOut], animations: {

            self.youtubeplayer2?.frame = CGRect(origin: CGPoint(x: 12, y: 568), size: CGSize(width: 40, height: 40))
            self.youtubeplayer2?.layoutIfNeeded()
        }, completion: nil)

Анимация выглядит довольно плохо с тем, как она ведет себя в настоящее время. Особенно второй, с серой областью, появляющейся довольно ясно. Кто-нибудь знает, есть ли решение для этого. Я что-то упустил?

...