繁体   English   中英

如何在Apple Watch应用程序中实现摇动手势?

[英]How to Implement shake gestures in an Apple Watch application?

WatchKit参考似乎没有提到它。 我错过了什么吗? 或者,在Apple Watch应用程序中实现摇动手势真的不可能吗?

以下是iOS上摇动手势实现的典型示例:

// MARK: Gestures
override func motionEnded(motion: UIEventSubtype, withEvent event: UIEvent) {
    if(event.subtype == UIEventSubtype.MotionShake) {
        // do something
    }
}

不,现在无法与UIEvent中的UIEvent做任何事情,使用当前解决方案的“远程用户界面”方法,您只需告诉手表如何使用故事板中预先安排的用户界面和对点击按钮或表格行等行为做出反应。 据Apple称,今年晚些时候手表上会支持更多代码。

更新:现在可以为watchOS 2提供本机应用程序。此功能可能存在。

现在可以在Watch OS2中使用CMMotionManager作为CoreMotion的一部分。

您可以使用此解决方法。

let motionManager = CMMotionManager()
if (motionManager.accelerometerAvailable) {
   let handler:CMAccelerometerHandler = {(data: CMAccelerometerData?, error: NSError?) -> Void in

       if (data!.acceleration.z > 0) {
          // User did shake
       }
   }
   motionManager.startAccelerometerUpdatesToQueue(NSOperationQueue.currentQueue()!, withHandler: handler)
}

罗杰说,解决方法是使用CoreMotion。

您可以使用coreMotion来获得移动。 我在我的Github上构建了这个简单的包装器

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM