谁能解释我如何检测表视图标题视图中的选择,如 tableView:didSelectRowAtIndexPath: ?这对我来说非常有用。我已将标题定义为 UITableCellView,因此我可以将 UISwitch 作为附件视图附加,它工作得很好,但现在我无法检测到开关中所做的更改。有什么建议么?
1730 次
1 回答
1
我将假设您正在动态创建开关,而不是在 IB 中创建它们。如果是这种情况,您需要做两件事来接收和区分对交换机的更改。首先,当您创建开关时,将其tag
属性设置为代表相应部分的某个值(例如部分索引本身)。然后,将事件处理程序添加到将回调视图控制器上的方法的开关。
所以,在tableView:viewForHeaderInSection:
,懒惰地实例化你的标题视图,也许缓存它,然后说:
[switch setTag:section];
并因此添加事件处理程序,其中 switchToggled: 的定义与任何其他 IBAction 一样:
[switch addTarget:self
action:@selector(switchToggled:)
forControlEvents:UIControlEventValueChanged];
然后,只需将sender
您在事件处理程序中收到的转换为UISwitch *
,并使用该tag
属性来判断哪个开关被切换。
于 2010-05-07T02:47:34.503 回答