如何在UITableView中隐藏某些单元格的多选编辑gui?

时间:2016-01-09 22:04:51

标签: ios uitableview uikit interface-builder selection

我正在使用UITableView,设置编辑为true,并在界面构建器中使用这些选项:

enter image description here

这显示了一个很好的选择UI,我可以修改它的样式和我可以做出反应的事件:

enter image description here

我想关掉它,但只针对某些细胞。我已经看过this和许多类似的问题,但它们在UITableView中引用了不同类型的选择。 UITableViewCellSelectionStyle.NonewillSelectRowAtIndexPath不允许我阻止此类选择。

2 个答案:

答案 0 :(得分:1)

您是否尝试实施

func tableView(_ tableView:UITableView,   canEditRowAtIndexPath indexPath:NSIndexPath) - >布尔

在您的代表中?

我相信它可以让你获得你想要达到的结果。

答案 1 :(得分:0)

-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{

UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"cell" forIndexPath:indexPath];

if(indexPath.row == index of cell you don't want the selection for)
{
    cell.selectionStyle = UITableViewCellSelectionStyleNone;
}

cell.textLabel.text = [a objectAtIndex:indexPath.row];
return cell;
}

例如:

-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
NSArray *a = @[@"md",@"dh",@"kkd",@"dkkls"];
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"cell" forIndexPath:indexPath];

if(indexPath.row == 2)
{
    cell.selectionStyle = UITableViewCellSelectionStyleNone;
}

cell.textLabel.text = [a objectAtIndex:indexPath.row];
return cell;
}

它不会在你的tableview中显示“kkd”的选择