Swift中的UIView动画不起作用,错误的参数错误

时间:2014-10-16 05:54:04

标签: ios swift uiviewanimation

我试图制作动画并使用下面的代码。我得到"无法调用&an; animateWithDuration'使用类型'的参数列表(FloatLiteralConvertible,delay:FloatLiteralConvertible,options:UIViewAnimationOptions,animations :() - >() - > $ T4,completion:(Bool) - >(Bool) - > $ T5)'"错误即可。

这意味着我使用了错误的参数。我错了。请帮忙。我无法真正解决它。

var basketTopFrame = CGRect()
basketTopFrame = dropPlace.frame
var mytimer : NSTimer = NSTimer .scheduledTimerWithTimeInterval(2.0, target: self, selector: "restart", userInfo: nil, repeats: false)

UIView.animateWithDuration(1.0, delay: 0.1, options: UIViewAnimationOptions.CurveEaseIn , animations: {  var pickPlace = basketTopFrame }, completion:  {(finished: Bool) in mytimer })

提前致谢。

1 个答案:

答案 0 :(得分:13)

如果只有一个语句,则闭包会自动返回。因此,在您的情况下,它将返回NSTimer而不是Void。您提供的闭包与签名闭包不匹配。例如,您必须在myTimer上调用方法来解决此问题:

UIView.animateWithDuration(1.0, delay: 0.1, options: UIViewAnimationOptions.CurveEaseIn,
    animations: {
        var pickPlace = basketTopFrame
    },
    completion:  { (finished: Bool) in
        mytimer.fire()
    }
)