WatchKit reference似乎没有提到它。我错过了什么吗?或者是否真的无法在Apple Watch应用程序中实现摇动手势?
以下是iOS上摇动手势实现的典型示例:
// MARK: Gestures
override func motionEnded(motion: UIEventSubtype, withEvent event: UIEvent) {
if(event.subtype == UIEventSubtype.MotionShake) {
// do something
}
}
答案 0 :(得分:4)
不,现在无法与WatchKit中的UIEvent
做任何事情,使用当前解决方案"远程用户界面"这种方法主要是告诉手表如何使用故事板中预先安排的UI,并对点击按钮或表格行等操作做出反应。据Apple称,今年晚些时候手表上将会支持更多代码。
更新:现在可以为watchOS 2提供本机应用程序。此功能可能存在。
答案 1 :(得分:1)
现在可以在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)
}
答案 2 :(得分:0)
Roger如何说,解决方法是使用CoreMotion。
您可以使用coreMotion进行移动。 我在我的Github上构建了这个simple wrapper。