Ошибка заключается в первой строке, где вы устанавливаете transform
на шкалу (1, 1)
:
view.transform = CGAffineTransform(scaleX: 1.0, y: 1.0)
CGAffineTransform(scaleX: 1.0, y: 1.0)
означает шкалу с масштабным коэффициентом 1, то есть нормальная шкала. Это эквивалентно .identity
, поэтому вы просите его анимировать преобразование из преобразования идентификатора в преобразования идентификатора.
Я предполагаю, что вы Возможно, вы подумали, что (1, 1)
означает 1 пиксель на 1 пиксель?
Вместо этого вы должны изначально установить масштаб на (0, 0)
:
view.transform = CGAffineTransform(scaleX: 0, y: 0)
Ваша вторая ошибка - анимация self.view
, а не параметр view
. Вероятно, это опечатка.
, поэтому весь ваш метод выглядит так:
func animateView(view: UIView){
view.transform = CGAffineTransform(scaleX: 0, y: 0)
UIView.animate(withDuration: 0.8, delay: 0, usingSpringWithDamping: 0.8, initialSpringVelocity: 0, options: .curveEaseInOut, animations: {
view.transform = .identity
}, completion: nil)
}