ios - WKInterfaceTable 中的 WKInterfaceButton 事件处理

标签 ios objective-c iphone ios8 watchkit

我有一个带有 WKInterfaceButtonWKInterfaceTable TableView 。

如何从 TableView 向按钮添加目标操作。由于没有标签属性,我无法处理它。

最佳答案

如果您的 WKInterfaceButton 包含在行 Controller 中,则以下是一种确定点击了哪一行按钮的方法:

  • 将您的 WKInterfaceButton 添加到行 Controller ,并使用界面构建器将按钮的操作连接到您的行 Controller 类
  • 向行 Controller 添加一个属性,以允许您引用数据(例如,对数据或标签的弱引用)
  • 向行 Controller 添加一个属性,允许您将界面 Controller 设置为委托(delegate)
  • 为委托(delegate)创建一个协议(protocol),允许您传递数据引用
  • 初始化每个行 Controller 时,请务必设置数据和委托(delegate)属性
  • 在行 Controller 中处理按钮操作时,调用您在协议(protocol)中定义的委托(delegate)方法。像这样的东西:

    - (void)rowController:(MyRowControllerClass *)rowController didSelectRowWithTag:(NSInteger)tag

  • 在界面 Controller 中处理此委托(delegate)方法以完成任何必要的工作。

我在自己的 Watch 应用中使用了这种技术,效果非常好。

关于ios - WKInterfaceTable 中的 WKInterfaceButton 事件处理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30391698/

相关文章:

ios - 如何调试 bad access code 2 错误?

ios - 为什么-tableView :heightForRowAtIndexPath: is a delegate method instead of a data source method?

iphone - 如何在 UIView 中添加带坐标的图像?

iphone - 无法使用另一个类的 setHidden 属性隐藏控件?

ios - 如何让一段代码在后台保持事件状态?

ios - SwiftUI中的.transition修饰符

javascript - 滚动时点击 Phonegap 移动应用程序会选择不正确的项目

ios - 如何获得下个月的第1、2、3、4个工作日(工作日)

ios - Objective-C 将 block 类型转换为另一个 block 类型得到了意想不到的结果

iphone - NSDateFormatter setDateFormat 的序号月日后缀选项