强制触摸后选择菜单项时不调用选择器

Selector not called on selecting menu item after force touch

我有这段代码,用于响应用力触摸后点击的菜单项:

class InterfaceController: WKInterfaceController {
    override init() {
        super.init()

        self.addMenuItemWithItemIcon(WKMenuItemIcon.Pause, title: "Pause", action: Selector("test"))
    }

    func test() {
        print("test")
    }
}

当我用力触摸时,会出现菜单。当我点击 "Pause" 按钮时,不会调用 test()

知道为什么会这样吗?

已解决。

虽然这是一个愚蠢错误的结果(不是大多数问题吗?),但我认为这是很多人 运行 都会遇到的问题,所以我会把它和我的答案一起保留在这里。

我在模拟器上启用了强制触摸,所以我可以显示菜单。当我再次点击按钮时,强制触摸仍处于启用状态,所以我强制触摸,从而关闭菜单。

解决方案:在点击菜单按钮之前禁用强制触摸。

我想对这个解决方案表示感谢,但我没有代表,所以我先说,谢谢!

不过,我还可以通过指出快捷键在这里非常方便地在强制按压压力之间切换来为解决方案添加一个附录。

⇧⌘1 - 用于浅压力(点击)

⇧⌘2 - 深度压力(力压)

确保 iOS 模拟器(手表)已聚焦,您就可以开始了。

我想添加一个小细节以使 SIM 过程更加明确,因为我之前确实看到过这个问题和答案,但没有正确执行,因为它不是很明显(至少对我而言) .

  1. 所有常规按 ⇧⌘1。

  2. 在使用强制触摸之前按⇧⌘2。

  3. 棘手的部分:菜单项出现后再次按⇧⌘1然后关闭菜单项!