如何使一个uitableviewcell无法选择

问题描述:

我将基于4个tableviewcells的搜索字符串放在一起,每个单元格打开一个子视图并加载用户选择设置前一个视图单元格的一堆数据。如何使一个uitableviewcell无法选择

需要设置这些单元格的顺序,以便子视图中的每个前面的数据列表都与父视图中设置的数据相关。

即在第一个单元格中选择了一种类型的汽车,在下一个单元格中查看与所选汽车类型相关的模型。

除此之外我的问题的基础是如何让细胞无法选择,直到先前的细胞已被设置。

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath 
{ 
//... 
if (indexPath.section == 0) 
    { 

if (indexPath.row == 0) // <<--- what could I put in here.... 
     { 
//... 
} 

}}

禁止小区跟踪任何互动:

[cell setUserInteractionEnabled:NO]; 

或允许的互动,隐藏选择的颜色,并且点击时,什么也不做。

[cell setSelectionStyle:UITableViewCellSelectionStyleNone]; 

- (void) tableViewDidSelectRow.... { 
    if(indexPath.row == indexOfCellWithNoUserInteraction) { 
     //do nothing 
    } 
} 
+0

有没有办法来改变细胞的颜色,直到它可以编辑呢? –

+0

你的意思是什么,直到它可以编辑它? –

+0

它的所有好..我想明白了..我的意思是有一种方式说,有一个细胞浅灰色,直到它遇到一个条件,然后它变成白色,使用户知道他们现在可以选择这个单元格。 。但已经算出来了......所以现在都很好:P –

使用tableView:willSelectRowAtIndexPath:。对于不想选择的行返回nil。

斯威夫特语法

cell.selectionStyle = UITableViewCellSelectionStyle.None 
+0

这并不能使其无法选择;只是UIKit在点击时不会呈现高光。 'didSelectRow ...'仍然会被调用。 –