我正在尝试制作动画并使用下面的代码.我得到“无法使用类型’的参数列表调用’animateWithDuration'(FloatLiteralConvertible,延迟:FloatLiteralConvertible,选项:UIViewAnimationoptions,动画:() – >() – > $T4,完成:(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 })
提前致谢.
解决方法
如果只有一个语句,则闭包会自动返回.因为在你的情况下,它返回NSTimer而不是Void.您提供的闭包与签名闭包不匹配.例如,您必须在myTimer上调用方法来解决此问题:
UIView.animateWithDuration(1.0,animations: { var pickPlace = basketTopFrame },completion: { (finished: Bool) in mytimer.fire() } )