Анимация представления в Swift

Я пытался анимировать UIView с помощью весенней анимации, используя Swift. Я могу добиться этого, когда использую цель C, однако я получаю сообщение об ошибке в Swift. Это анимация:

UIView.animateWithDuration(3,
usingSpringWithDamping: 0.3,
initialSpringVelocity: 3.0,
animations:{
viewToAnimate.frame.offset(dx: 0, dy: 100.0)},
completion: nil)

Компилятор выдает мне ошибку, говорящую

Could not find an overload for 'animateWithDuration' that accepts supplied arguments. 

Если я удалю «usingSpringWithDamping: 0.3, initialSpringVelocity: 3.0», он компилируется и анимируется нормально. Как сделать весеннюю анимацию быстрой?


person user3724253    schedule 11.06.2014    source источник


Ответы (2)


Вам не хватает параметра. Метод также принимает задержку в качестве входных данных.

UIView.animate(withDuration: 1.0, delay: 0.0, usingSpringWithDamping: 0.3, initialSpringVelocity: 3.0, options: UIView.AnimationOptions.curveEaseInOut, animations: ({
    // do stuff
}), completion: nil)
person Mick MacCallum    schedule 11.06.2014

Попробуй это:

UIView.animateWithDuration(0.7, delay: 0.0, usingSpringWithDamping: 0.5,
initialSpringVelocity: 0.5, options: [], animations: 
{
    self.yourView.transform = CGAffineTransformMakeScale(1, 1)
}, completion: nil)
person Massimo Polimeni    schedule 08.04.2015