如何禁用UITableViewCell但仍与附件视图交互(即UISwitch)

cgo*_*ain 6 objective-c uitableview ios

有没有办法可以禁止UITableViewCell触发didSelectCellAtIndexPath:委托,同时仍然保留使用该单元的附件视图中的UISwitch的能力.

我知道你可以设置cell.userInteractionEnabled = NO,这将禁用单元格,但也阻止我在附件视图中使用开关.我知道我也可以尝试检测didSelectCellAtIndexPath:方法中的单元格,但由于我的表视图是动态的,并且根据用户的操作而变化可能会变得混乱.

我正在寻找一种可以使用的简单而优雅的解决方案.有任何想法吗?

Muh*_*ris 7

如果你不想使用cell.userInteractionEnabled = NO然后你设置cell.selectionStyle = UITableViewCellSelectionStyleNone

并让你的单元格触发didSelectRowAtIndexPath.

现在,在这个方法"didSelectRowAtIndexPath"中,您必须通过比较该特定索引处的数据源数组中的对象类型来避免/忽略选择.