2011-10-17 79 views
11

我將基於4個tableviewcells的搜索字符串放在一起,每個單元格打開一個子視圖並加載用戶選擇設置前一個視圖單元格的一堆數據。如何使一個uitableviewcell無法選擇

需要設置這些單元格的順序,以便子視圖中的每個前面的數據列表都與父視圖中設置的數據相關。

即在第一個單元格中選擇了一種類型的汽車,在下一個單元格中查看與所選汽車類型相關的模型。

除此之外我的問題的基礎是如何讓細胞無法選擇,直到先前的細胞已被設置。

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

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

}}

回答

26

禁止小區跟蹤任何互動:

[cell setUserInteractionEnabled:NO]; 

或允許的互動,隱藏選擇的顏色,並且點擊時,什麼也不做。

[cell setSelectionStyle:UITableViewCellSelectionStyleNone]; 

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

有沒有辦法來改變細胞的顏色,直到它可以編輯呢? –

+0

你的意思是什麼,直到它可以編輯它? –

+0

它的所有好..我想明白了..我的意思是有一種方式說,有一個細胞淺灰色,直到它遇到一個條件,然後它變成白色,使用戶知道他們現在可以選擇這個單元格。 。但已經算出來了......所以現在都很好:P –

2

斯威夫特語法

cell.selectionStyle = UITableViewCellSelectionStyle.None 
+0

這並不能使其無法選擇;只是UIKit在點擊時不會呈現高光。 'didSelectRow ...'仍然會被調用。 –

相關問題