2011-04-04 66 views
2

我希望我的表細胞能快速加載時,不透明= YES不妙,所以我設置我的手機裏面我所有的UILabels是不透明= YES;這很好,因爲我也將背景設置爲白色,看起來很正常。的UITableViewCell標籤點擊細胞

問題是當您單擊該單元格,因爲這些標籤的背景是白色的,藍色的顏色選擇刻意突出單元格時看起來很糟糕。有沒有解決這個問題的方法?將這些單元格的背景顏色設置爲clearColor是否會破壞設置不透明的目的?

+0

有你使用的廈門國際銀行設立的單元格或你使用CoreGraphics中手動繪製呢? – GorillaPatch 2011-04-04 18:29:48

+0

它是手動繪製的。 – 2011-04-04 20:57:14

回答

3

有一些事情你必須考慮。首先,將標籤設置爲不透明無疑是獲得良好滾動性能的正確方法。

正確的方法做,這是聲明的UITableViewCell子類,並覆蓋setBackgroundColor方法這樣並轉發的背景色,以在小區的每個元素:

- (void) setBackgroundColor:(UIColor *)color { 
    [super setBackgroundColor:color]; 
    [titleLabel setBackgroundColor:color]; 
    [imageView setBackgroundColor:color]; 
    [timeLabel setBackgroundColor:color]; 
} 

我用這個作爲文件的所有者定義tableview單元格的XIB,並將UI元素連接到此自定義子類中的出口。

+0

也可以覆蓋setSelected:方法並設置標籤的顏色,當選擇時清除,不清除時不清除;) – 2011-04-04 18:32:44

+0

我不建議這樣做。我的解決方案來自WWDC視頻,並且是蘋果的方式。 – GorillaPatch 2011-04-04 18:33:36

+0

這工作完美!非常感謝! – 2011-04-04 21:11:30