我正在尝试将 Ray Wenderlich 关于 UIDynamics 的教程转换为快速代码,但我停留在第一部分。
http://www.raywenderlich.com/50197/uikit-dynamics-tutorial
这是我正在做的:
- 创建了一个方形的 UIView
- 在主视图中添加了一个 UIDynamicAnimator
- 添加了一个 UIGravityBehavior 并用正方形对其进行了初始化
- 为动画器添加重力行为
所有编译和运行都很好,但正方形没有移动。谁能看出我做错了什么?
最佳答案
您已经将动画器创建为 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)
}
}
关于ios - UIDynamics 在 Swift 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24123558/