UIView没有成员animateWithDuration?

时间:2014-08-26 12:42:34

标签: ios animation swift ios8

我正在制作一个iOS8应用程序,我正试图为其中一个UIViews制作动画。我也在使用Swift。当我尝试在我在界面生成器中创建的UIView上使用“animateWithDuration”方法然后使用IBOutlet在代码中使用它时,Xcode给了我一个错误,

  

'UIView'没有名为'animateWithDuration'的成员

我导入的唯一框架是UIKit。有谁现在为什么这不起作用? 当我说UIView.animateWithDuration我没有错误,但当我尝试使用我在Interface Builder中创建的视图时,我得到了错误。

2 个答案:

答案 0 :(得分:2)

也许你说错了。它应该是:

UIView.animateWithDuration(1.0, animations: { () -> Void in
    //changes to animate
})

这就是swift中调用类方法的方法!

答案 1 :(得分:1)

我想你试图用UIView子类的实例调用这个方法。但你不应该是类方法,所以使用UIView(如Heliem所说)并在其闭包中进行更改。

var myView:MyViewSubclass = MyViewSubclass()

UIView.animateWithDuration(1.0, animations: { () -> Void in
//changes to animate myView
     //to animate frame changes
     myView.Frame = newFrame

})