【发布时间】:2012-09-24 14:58:24
【问题描述】:
我有一个包含四行的 UITableView。每行都有一个带有 DCRoundSwitch 的自定义单元格。 value-changed 事件在 IB 中链接到 switchChanged 方法。每次在 cellForRowAtIndexPath 中需要一个带有开关的新单元时,我都会将新单元的开关分配给 ivar,这样我就可以像这样以编程方式控制它:
self.categorySwitch = ((FilterViewCell *)cell).sectionSwitch;
在我第一次触摸开关后,它完美运行,触发了 switchChanged 方法。
问题: 每次需要一个新单元格或重新加载表时,它都会触发switchedChanged 方法,而无需触摸开关。我已经尝试像这样在 switchChanged 方法的末尾删除所有目标,但它仍然不起作用:
[theSwitch removeTarget:nil action:NULL forControlEvents:UIControlEventAllEvents];
使用 UISwitch 可以完美运行。
有什么建议吗? DCRoundSwitch 似乎是一个很好的选择,我想使用它。
谢谢
【问题讨论】:
标签: uitableview uiswitch