在Swift中动画化视图

时间:2014-06-11 00:13:05

标签: swift ios8 xcode6

我一直试图使用swift使用弹簧动画为UIView制作动画。当我使用目标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,"它编译和动画很好。如何快速制作弹簧动画?

2 个答案:

答案 0 :(得分:16)

您错过了参数。该方法也需要延迟作为输入。

UIView.animateWithDuration(1.0, delay: 0.0, usingSpringWithDamping: 0.3, initialSpringVelocity: 3.0, options: UIViewAnimationOptions.CurveEaseInOut, animations: ({
    // do stuff
}), completion: nil)

答案 1 :(得分:10)

试试这个:

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

对于任何其他类似问题,请查看GitHub

上的示例