【问题标题】:UIView does not have member animateWithDuration?UIView 没有成员 animateWithDuration?
【发布时间】:2014-08-26 12:42:33
【问题描述】:
我正在制作一个 iOS8 应用程序,我正在尝试为其中一个 UIView 设置动画。我也在使用 Swift。当我尝试在我在 Interface Builder 中创建的 UIView 上使用“animateWithDuration”方法,然后使用 IBOutlet 在代码中使用它时,Xcode 给了我一个错误,
“UIView”没有名为“animateWithDuration”的成员
我唯一导入的框架是 UIKit。有谁现在为什么这不起作用?
当我说 UIView.animateWithDuration 时,我没有收到任何错误,但是当我尝试使用在 Interface Builder 中创建的视图时,我收到了错误。
【问题讨论】:
标签:
ios
animation
swift
ios8
【解决方案1】:
也许你说错了。应该是:
UIView.animateWithDuration(1.0, animations: { () -> Void in
//changes to animate
})
这就是在swift中调用类方法的方式!
【解决方案2】:
我想你想用 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
})