2012-05-07 88 views
0

我想要刪除在我的表格視圖中觸摸單元格時出現的選擇色。防止在選擇單元格時出現藍色背景

在IB中有一個「顯示選擇」複選框,它什麼都不做,從我可以收集的看來,它只是IB中的一個錯誤。

但是接下來有 [cell setSelectionStyle:UITableViewCellSelectionStyleNone];我可以設置爲每個單元格的 。

這也沒有做什麼,所以這是我卡住的地方,所有文檔說,如果我設置這個屬性它不應該出現,但它確實。

我推UINavigationController上的另一個UIViewController,當我回到有問題的視圖時,單元格上的藍色背景被卡住,直到我碰到另一個。

唯一特別的是我在故事板的幫助下實例化了這個UITableViewController,並使用了原型單元格。然後我把它放在一個UIScrollView中,在多個UITableViewControllers之間進行水平分頁。當我這樣做時,無法訪問導航控制器,因此我將UINavigationController傳遞給UITableView。

對不起,我不能使關鍵字顯示爲代碼,它說我應該按Tab鍵,然後鍵入一個$,但將我的光標移動到標籤。

+1

看來,如果我把我的原型單元格中的選擇設置爲無效,它就起作用了。 因此,正如在原型單元格上設置選擇樣式的警告顯然沒有做任何事情。 我不能回答我自己的問題7小時,但這是答案。 – Ostmeistro

回答

0

解決的辦法是設置樣式在IB原型細胞。原型單元很多東西都很奇怪。

1

從代碼,你可以使用(例如用於灰色):

cell.selectionStyle = UITableViewCellSelectionStyleGray; 

,並把這個在:

- (void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath 

在您的視圖控制器。

+0

我知道,這並沒有工作,我不得不改變它在原型單元格上的IB,以使其工作:/ – Ostmeistro

3

你可以嘗試設置你的細胞的selectedBackgroundView這樣的:

customCell.selectedBackgroundView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"background.png"]]; 

在委託方法cellForRowAtIndexPath

+0

是的,這是我會嘗試,但如果我改變它在IB的原型單元格它傳播和神祕地工作:) – Ostmeistro

相關問題