WKInterfaceTable 中的 WKInterfaceButton 事件处理
WKInterfaceButton event handling in WKInterfaceTable
我有 WKInterfaceTable
table 视图和 WKInterfaceButton
。
如何从 table 视图向按钮添加目标操作。由于没有标签 属性 我无法处理它。
如果您的 WKInterfaceButton
包含在行控制器中,可以通过以下方法确定点击了哪一行的按钮:
- 将您的
WKInterfaceButton
添加到行控制器并使用界面生成器将按钮的操作连接到您的行控制器 class
- 向您的行控制器添加一个 属性 以允许您引用您的数据(例如,对您的数据或标记的弱引用)
- 向您的行控制器添加一个 属性,允许您将界面控制器设置为委托
- 为委托创建允许您传递数据引用的协议
- 初始化每个行控制器时,一定要设置数据和委托属性
在行控制器中处理按钮操作时,调用您在协议中定义的委托方法。类似于:
- (void)rowController:(MyRowControllerClass *)rowController didSelectRowWithTag:(NSInteger)tag
在您的界面控制器中处理此委托方法以执行任何必要的工作。
我在自己的 Watch 应用中使用了这种技术,效果很好。
我有 WKInterfaceTable
table 视图和 WKInterfaceButton
。
如何从 table 视图向按钮添加目标操作。由于没有标签 属性 我无法处理它。
如果您的 WKInterfaceButton
包含在行控制器中,可以通过以下方法确定点击了哪一行的按钮:
- 将您的
WKInterfaceButton
添加到行控制器并使用界面生成器将按钮的操作连接到您的行控制器 class - 向您的行控制器添加一个 属性 以允许您引用您的数据(例如,对您的数据或标记的弱引用)
- 向您的行控制器添加一个 属性,允许您将界面控制器设置为委托
- 为委托创建允许您传递数据引用的协议
- 初始化每个行控制器时,一定要设置数据和委托属性
在行控制器中处理按钮操作时,调用您在协议中定义的委托方法。类似于:
- (void)rowController:(MyRowControllerClass *)rowController didSelectRowWithTag:(NSInteger)tag
在您的界面控制器中处理此委托方法以执行任何必要的工作。
我在自己的 Watch 应用中使用了这种技术,效果很好。