我正在制作一个iOS8应用程序,我正试图为其中一个UIViews制作动画。我也在使用Swift。当我尝试在我在界面生成器中创建的UIView上使用“animateWithDuration”方法然后使用IBOutlet在代码中使用它时,Xcode给了我一个错误,
'UIView'没有名为'animateWithDuration'的成员
我导入的唯一框架是UIKit。有谁现在为什么这不起作用? 当我说UIView.animateWithDuration我没有错误,但当我尝试使用我在Interface Builder中创建的视图时,我得到了错误。
答案 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
})