ios - UIDynamics 在 Swift 中不起作用

标签 ios objective-c swift

我正在尝试将 Ray Wenderlich 关于 UIDynamics 的教程转换为快速代码,但我停留在第一部分。

http://www.raywenderlich.com/50197/uikit-dynamics-tutorial

这是我正在做的:

  1. 创建了一个方形的 UIView
  2. 在主视图中添加了一个 UIDynamicAnimator
  3. 添加了一个 UIGravityBehavior 并用正方形对其进行了初始化
  4. 为动画器添加重力行为

所有编译和运行都很好,但正方形没有移动。谁能看出我做错了什么?

https://github.com/oisinlavery/UIDynamics-Swift

最佳答案

您已经将动画器创建为 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/

相关文章:

ios - 来自 HTML 的 SwiftUI 属性字符串使应用程序崩溃

java - 为 iOS、Android 和桌面开发应用程序

ios - TableViewCell 中的元素有多个引用

iphone - iOS登录架构,如何查看登录?

iphone - 使用 GameCenter 在 iOS 中进行两人游戏

ios - 当数字超过一千万时,计算总和不正确

ios - 如何使用 isKind(of : .) 检查对象类型?

iphone - 将Integer设置为除零以外的任何值时为EXC_BAD_ACCESS

ios - 如何在 viewController 上写一个 initWith...

swift - 如何使用 UIPushBehavior 以相同的速度推送动态对象?