我正在尝试将Ray Wenderlich的UIDynamics教程转换为快速代码,但我仍然坚持第一部分。
http://www.raywenderlich.com/50197/uikit-dynamics-tutorial
这就是我正在做的事情:
这一切都编译并运行良好,但方块不动。谁能看到我做错了什么?
答案 0 :(得分:4)
您已将动画制作者创建为go
方法的局部变量,因此只要该方法完成,它就会消失。它需要是ViewController
类上的一个实例变量,以便它可以保留并为广场设置动画:
class ViewController: UIViewController {
var animator: UIDynamicAnimator?
@IBAction func go(sender : UIButton) {
var square = UIView(frame: CGRectMake(100, 100, 100, 100))
square.backgroundColor = UIColor.blackColor()
self.view.addSubview(square)
self.animator = UIDynamicAnimator(referenceView: self.view)
var grav = UIGravityBehavior(items:[square])
self.animator!.addBehavior(grav)
}
}