animation - Swift:找不到接受提供的参数的 ' ' 的重载

标签 animation uiview double swift

所以我需要的是一个连续旋转的图像。问题是在 /// UIView.animateWithDuration() (0.01, 动画: {///

它说:找不到接受提供的参数的“animateWithDuration”的重载

class ViewController: UIViewController {

override func viewDidLoad() {
    super.viewDidLoad()
    // Do any additional setup after loading the view, typically from a nib.

    let schedule = NSTimer.scheduledTimerWithTimeInterval(0.01, target: self, selector: Selector("rotate"), userInfo: nil, repeats: true)
    schedule.fire()

    func rotate() {
        angle = angle + 1

        UIView.animateWithDuration() (0.01, animations: { 
            self.imageView.transform = CGAffineTransformMakeRotation( ((self.angle) / 180.0 * M_PI));
            })
    }
}

@IBOutlet var imageView : UIImageView

var angle = 0

提前致谢。

最佳答案

正如@Bryan Chen 所指出的,您在方法调用中有一个额外的 () 。但是,这不是您唯一的问题。您的 angle 变量是一个 Int,而它应该是一个导致此错误的 Double。将您的变量声明更改为 Double

var angle = 0.0

并在整个过程中使用 double ,例如在修改变量时。

angle = angle + 1.0

这样就可以正常工作了。

UIView.animateWithDuration(0.01, animations: {
    self.imageView.transform = CGAffineTransformMakeRotation( ((self.angle) / 180.0 * M_PI));
})

关于animation - Swift:找不到接受提供的参数的 ' ' 的重载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24173294/

相关文章:

html - 无法申请 :not() to include div containers

骑行彩色动画

iphone - subview 显示下面的主视图

iphone - 在加载 View 中创建 View 并设置它的框架,但框架自动更改

c++ - 当按网络字节顺序放置 double 时,为什么它以 4 字节 block 的形式完成?

swift - 在 Swift 中将非常长的 Double 转换为 String

javascript - 淡入动画 div

javascript - jQuery 动画 - 以不同的速度对不同的 div 进行动画处理

ios - 如何使用 UIGestureRecognizerDelegate?

java - 检查 double 是否相等和 Sonar 问题