我有一个自定义UITableViewCells的tableview,表中的每一行都有一个UILabel,UISwitch和detail披露指标。为UISwitch获取一行的NSIndexPath
我正在寻找捕获交换机的UIControlEventChanged的最佳方法,但我还需要更改为更新核心数据的交换机的NSIndexPath。
我不希望UISwitch作为附件类型。
我一直在google搜索这几个小时,并且不断弹出是使用
[switch addTarget:self action:@selector(switchTapped:) forControlEvents:UIControlEventChanged];
然后在switchTapped解决方案:方法使用以下方法来获得NSIndexPath
NSIndexPath *indexPath = [self.tableView indexPathForCell:(UITableViewCell *)[[sender superview] superview]];
是有更好的方法来做到这一点?我已经有了UITableViewCell子类,我可以在这个类中放置一个方法来为给定的开关返回NSIndexPath吗?
预先感谢任何帮助
似乎对我来说很好。 – wbyoung 2012-03-19 14:34:22
但是,如果视图层次结构在iOS更新等任何位置发生更改,将会失败。 – 2012-03-19 14:48:46
好点,你可以走上前去找到'UITableViewCell'类型的第一个超级视图。这很可能会失败。 – wbyoung 2012-03-19 14:56:20