2010-05-07 58 views
0

任何人都可以解释我如何检测表视图中的选择像tableView:didSelectRowAtIndexPath中的头视图:?这对我来说非常有用。我已经将头文件定义为UITableCellView,因此我可以将UISwitch作为附件视图进行附加,并且效果很好,但现在我无法检测到交换机中所做的更改。有什么建议么?UITableView头选择

回答

1

我打算假设您正在动态创建交换机,而不是在IB中创建交换机。如果是这样的话,您需要做两件事来接收并区分开关的变化。首先,在创建开关时,将其tag属性设置为表示相应部分的某个值(如可能是部分索引本身)。然后,向交换机添加一个事件处理程序,该处理程序将回调视图控制器上的方法。

所以,在tableView:viewForHeaderInSection:,懒洋洋地实例化你的头来看,也许缓存,然后这样说:

[switch setTag:section]; 

正是如此添加事件处理,其中switchToggled:只是定义为任何其他IBAction为将:

[switch addTarget:self 
      action:@selector(switchToggled:) 
forControlEvents:UIControlEventValueChanged]; 

然后,只投了sender你在你的事件处理程序接收到UISwitch *,并使用tag属性来判断哪些开关被触发。