WatchKit-强制触摸API问题



强制触摸菜单的一些问题:

  1. 现在,当我执行强制触摸并按下我的一个菜单项时,实现我的菜单的整个界面控制器正在加载新的。这是可以避免的吗?

  2. 我为接口控制器实现了一个包含4个菜单项的菜单。

使用其中一个菜单项,我想启用/禁用按钮的触觉反馈。

我的按钮方法如下:

- (IBAction) but1Pressed {
       [[WKInterfaceDevice currentDevice] playHaptic:WKHapticType.Click];
       // Do something
}

如果用户在ForceTouchMenu中禁用TapticEngine,我如何禁用它?

  1. 不,因为到今天为止,这是不可能的。

  2. 如果我理解你的意思,你需要一个BOOL,它定义了当按下界面控制器中的按钮时,应用程序是否应该执行触觉反馈。

要实现这一点,请执行以下操作:

BOOL shouldGiveTapticFeedback = YES

然后,当按下相应的菜单项时,您需要一种方法来更改此BOOL

- (IBAction) tapticFeedbackChangeButtonPressed {
   //change BOOL value
   shouldGiveTapticFeedback = !shouldGiveTapticFeedback
}

最后,当按下界面控制器中的按钮时,您需要检查是否应该播放敲击反馈:

- (IBAction) interfaceButtonPressed {
   if(shouldGiveTapticFeedback) {
      //play sound
      [[WKInterfaceDevice currentDevice] playHaptic:WKHapticType.Click];
   }
}
  1. 不,这也不可能

最新更新