2011-07-23 62 views
2

當我選擇一個自定義的單元格時,它會隱藏單元格中的所有內容,並只顯示選擇的顏色。UITableViewCell Selectioncolor隱藏所有內容

enter image description here

如何選擇時,我只是變暗的背景一點?

+0

嘗試發佈一些代碼... – Aravindhan

+0

該單元在IB中完成。我是UITableViewCell的子類。我在這門課只有getter和setter。 – Chris

回答

2

除了覆蓋setHighlighted:之外,您還可以使用表格視圖單元格的視圖組合來獲得優勢。

當iOS應用突出顯示時,它實際上是使用每個表格視圖單元的selectedBackgroundView屬性。所以,你可以製作一個自定義的UIView(不過它的樣式,例如給它所需的背景顏色),並將其設置爲表視圖單元格的selectedBackgroundView屬性(cell.selectedBackgroundView)。在自定義單元格的其他細節時,在cellForRowAtIndexPath:中執行此操作。

這意味着你可以自己控制選擇; iOS默認漸變將不會被應用。


也可以通過Interface Builder更改selectedBackgroundView。在與您的自定義單元格相同的筆尖中,在筆尖中創建另一個視圖 - 而不是自定義表格視圖單元格的子視圖 - 並將其與自定義表格視圖單元格的「selectedBackgroundView」出口連接起來。

+0

我發現了這個問題。 CustomCell的視圖鏈接到backgroundView。由於我刪除了該鏈接,它與您建議的selectedBackgroundView完美配合。唯一的問題是我不能用cell.backgroundColor設置單元格的背景 – Chris

+0

@Chris:「linked to」? –

+0

在IB中鏈接,就像您將ibout鏈接到標籤 – Chris

2

如果這是一個自定義單元格,執行

- (void)setHighlighted:(BOOL)highlighted animated:(BOOL)animated 

並在其調整的背景色。

2

您可以在選擇單元格時添加突出顯示的文本顏色。

cell.selectedBackgroundView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"part2.png"]]; 


cell.textLabel.highlightedTextColor = [UIColor blackColor]; 

根據突出顯示的單元格選擇顏色設置選定的文本顏色。