Вы устанавливаете поворот transform
, чтобы это происходило немедленно - и это происходит! Но затем вы сразу же начинаете анимировать его снова относительно вашей transforms
переменной - возвращая ее текущий transform
к тому, что в этой переменной.
Вместо использования переменной для отслеживания кнопки transform
, просто обратитесь к ее текущему transform
, например так:
button.transform = .identity
UIView.animate(withDuration: 1.05, delay: 0.0, options: .allowUserInteraction, animations: {
button.transform = button.transform.scaledBy(x: 0.75, y: 0.75)
}, completion: { _ in
button.transform = CGAffineTransform(rotationAngle: 90 * (.pi/180)) // I want this to happen immediately, without animation
UIView.animate(withDuration: 1.1, delay: 0.0, options: .allowUserInteraction, animations: {
button.transform = button.transform.scaledBy(x: 1.0, y: 1.0)
}, completion:nil)
})