将变量放入CGAffineTransformMakeTranslation后,XCode向我显示"调用中的额外参数'延迟'.知道为什么吗?认为它是一个错误.
var direction = 0
UIView.animateWithDuration(0.2, delay: 0.0, options: UIViewAnimationOptions.Repeat, animations: {
self.NameInput.transform = CGAffineTransformMakeTranslation(5*direction, 0);
}, completion: nil)
Run Code Online (Sandbox Code Playgroud)
问题是Swift编译器有错误的错误消息.真的,非常糟糕的错误消息.
这是修复:
var direction = 0
UIView.animateWithDuration(0.2, delay: 0.0, options: UIViewAnimationOptions.Repeat, animations: {
self.NameInput.transform = CGAffineTransformMakeTranslation(5*CGFloat(direction), 0)
// ^^^^^^^^ ^
}, completion: nil)
Run Code Online (Sandbox Code Playgroud)
animations由于类型不正确,编译器无法编译块.所以它不知道块的类型.它替换了块的错误类型.然后它试图找到一个animateWithDuration以错误类型作为参数的重载.没有一个,所以它任意选择了一个过载.具体来说,它选择了animateWithDuration(_,animations:)重载,它没有delay参数.因此,您收到的错误消息.
| 归档时间: |
|
| 查看次数: |
925 次 |
| 最近记录: |