如何禁用特定UITableView部分的用户交互

时间:2015-01-08 21:34:47

标签: ios uitableview nsindexpath

我正在寻找类似的东西:

- (void) tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
    [self.tableview setUserInteractionEnabled:NO forSection:indexPath.section];
}

有没有办法做到这一点?

2 个答案:

答案 0 :(得分:2)

你可以实现tableView:willSelectRowAtIndexPath:并且如果indexPath.section引用你不想要触摸的部分,则返回nil。这将阻止选择该部分中的单元格

答案 1 :(得分:0)

不是将userInteractionEnabled设置为no,而是不能处理didSelectRowAtIndexPath?

例如在didSelectRowAtIndexPath中有一个if语句:

if(indexPath.section != 1){
     [self carryOutAction];
}

您可以拥有一个NSArray属性,该属性包含NSNumbers,其中包含与每个部分对应的布尔值以及是否启用了每个部分。然后在didSelectRowAtIndexPath中,您可以遍历数组并查看Boolean变量是否为true。如果是,则执行操作。

如果您担心该行的突出显示,您也可以使用IF语句轻松处理。如果这对您来说是个问题,请告诉我。