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

Riy*_*ker 7 uiviewanimation ios swift

我正在尝试制作动画并使用下面的代码.我得到"无法使用类型'的参数列表调用'animateWithDuration'(FloatLiteralConvertible,延迟:FloatLiteralConvertible,选项:UIViewAnimationOptions,动画:() - >() - > $ T4,完成:(布尔) - >(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 })
Run Code Online (Sandbox Code Playgroud)

提前致谢.

Kir*_*ins 13

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

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