Продолжительность быстрой анимации не работает в CGAffineTransform - PullRequest
0 голосов
/ 27 мая 2018

Когда я транслирую один вид с анимацией в 1 секунду, он не работает, но когда я выполняю transform.identity, он работает нормально.

Вот мой код:

func hideCarousel() {
    UIView.animate(withDuration: 1, animations: {
        self.carouselER.transform  = CGAffineTransform(translationX: 0, y: 200)
    })
}

func showCarousel() {
    UIView.animate(withDuration: 1, animations: {
        self.carouselER.transform = .identity
    })
}

Carousel Not Working

1 Ответ

0 голосов
/ 27 мая 2018

Чтобы решить эту проблему, я принудительно запустил анимацию в главном потоке.Каждый раз, когда у вас возникают проблемы с производительностью элементов пользовательского интерфейса, таких как анимация или обновление текстов ярлыков, попробуйте принудительно запустить изменение пользовательского интерфейса в главном потоке.

    DispatchQueue.main.async {
        UIView.animate(withDuration: 1, animations: {
            self.carouselER.transform  = CGAffineTransform(translationX: 0, y: 200)
        })
    }

Я также сталкивался с этой проблемойодин таймер, который обновил метку, но в этом выпуске я подумал, что это какая-то проблема CGAffineTransform.

Carousel Working

...