如何识别 Apple Watch 应用中的手势?

Posted

技术标签:

【中文标题】如何识别 Apple Watch 应用中的手势?【英文标题】:How can I recognise gestures in an Apple Watch app? 【发布时间】:2014-12-19 09:59:03 【问题描述】:

Apple Watch可以做手势识别吗?

例如,Apple 已经演示了在 Watch 上使用滑动手势,向左、向右、向上和向下。是否可以在第三方 Watch 应用中捕获这些,并将它们链接到我的 WatchKit 扩展中的方法?

另外,是否可以进行自定义手势识别,例如圆形或三角形手势?

【问题讨论】:

【参考方案1】:

目前无法在 Apple Watch 上使用。 请改用菜单。

【讨论】:

我知道您可以在 Stroyboard 中连接更多 WKInterfaceController 并通过向左/向右滑动来更改它们。我在想同样的事情可以通过编程方式实现。 是的,但是手表屏幕会很小。想象一下你试图用你的手指画一个三角形。一定很难。 要点是改变 WKInterfaceController 滑动是启用的,但如果我想以编程方式使用滑动是不可能的。 我不确定。你有一个基于分页的应用程序,你想呈现一个特定的界面? 如果你有 2 个 WKInterfaceController 并在 Storyboard 中连接它们,通过滑动你可以从一个到另一个。如果我想要一个 WKInterfaceController 和一个带有数字的标签,在向右滑动时将数字加一,在向左滑动时将数字减一,我不知道该怎么做。所以 Swipe 已启用,但您不能以编程方式使用它。你现在明白了吗?【参考方案2】:

目前在 WatchKit 中无法访问滑动或其他手势或点击位置,并且没有理由相信在 Watch 发布之前会发生变化。

Apple 支持使用滑动手势在您的控制器中前后导航,并滚动其布局的视图。这些由 Watch OS 处理——您只能在 Interface Builder 中定义对象的 segues 和布局,其余的由 OS 负责。但是,没有与 UIGestureRecognisers 等效的功能,因此目前您不能将滑动手势用作其他应用程序元素的基于手势的控件。目前尚不清楚 Apple 是否愿意在未来启用此功能,或者他们是否永远不会向开发人员开放此功能,但他们鼓励开发人员通过其bug reporter 提交增强请求。

【讨论】:

以上是关于如何识别 Apple Watch 应用中的手势?的主要内容,如果未能解决你的问题,请参考以下文章

如何禁用“手势识别器”(XMCircleGestureRecognizer)?

识别 Apple Watch 名称

如何在 Xcode 中创建 Apple Watch 应用或配置 Apple Watch 应用

Objective-C HealthKit 识别来源是来自 Apple iPhone 还是 Apple Watch

Objective-C HealthKit 识别来源是来自 Apple iPhone 还是 Apple Watch

如何隐藏或删除Apple Watch状态栏中的时间?