检测凹凸运动

时间:2015-02-18 13:58:15

标签: ios swift cmmotionmanager

我试图检测iPhone的整个左侧何时被碰撞。这就是我到目前为止所拥有的:

let manager = CMMotionManager()

override func viewDidLoad() {
    super.viewDidLoad()

    if manager.deviceMotionAvailable {
        manager.deviceMotionUpdateInterval = 0.02
        manager.startDeviceMotionUpdatesToQueue(NSOperationQueue.mainQueue()) {
            [weak self] (data: CMDeviceMotion!, error: NSError!) in
            if data.userAcceleration.x > 2 {
                // Perform action
            }
        }
    }
}

只要我撞到手机的左上角,上面的代码就可以正常工作。但是,如果我尝试将整个手机直接撞到左边的直线上,那么它很少会起作用。我在这里找不到什么东西?

谢谢!

1 个答案:

答案 0 :(得分:2)

if data.userAcceleration.x > 2 {
            // Perform action
        }

制作2,比如1.5或更小,因为2需要非常快的加速度。