Как создать панель вкладок твиттера pu sh анимацию - PullRequest
3 голосов
/ 13 июля 2020

У меня есть следующий код:

    private var bounceAnimation: CAKeyframeAnimation = {
        let bounceAnimation = CAKeyframeAnimation(keyPath: "transform.scale")
        bounceAnimation.values = [1.0, 1.4, 0.9, 1.02, 1.0]
        bounceAnimation.duration = TimeInterval(0.3)
        bounceAnimation.calculationMode = CAAnimationCalculationMode.cubic
        return bounceAnimation
    }()

Это создает анимацию, в которой значок становится больше, а затем меньше. Я пытаюсь создать анимацию, в которой значок становится меньше, а затем возвращается в нормальное состояние, как будто его нажимают, как в twitter, Spotify и т. Д. c. Я предполагаю, что это просто меняет значения отказов, хотя я не уверен, как мне это сделать.

1 Ответ

2 голосов
/ 13 июля 2020

Я бы использовал обычную UIView.animate функцию вроде этой:

UIView.animate(withDuration: 0.05, delay: 0, options: .curveLinear, animations: {
    view.transform = CGAffineTransform(scaleX: 1.05, y: 1.05)
}, completion: nil)

UIView.animate(withDuration: 0.3, delay: 0.05, usingSpringWithDamping: 0.2, initialSpringVelocity: 7, options: .curveEaseOut, animations: {
    view.transform = .identity
}, completion: nil)

Просто измените view на любой вид, который вы пытаетесь анимировать. Затем поиграйте с начальным масштабом, продолжительностью и демпфированием пружины, чтобы получить желаемую анимацию!

...