我试图制作动画并使用下面的代码。我得到"无法调用&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 })
提前致谢。
答案 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()
}
)