2008-12-31 153 views
0

我在過去的幾個小時想弄清楚如何做到這一點,但沒有運氣。搜索Google時有幾種可能的解決方案,但似乎沒有任何效果。如何自定義UITableViewCell中標準標籤的背景顏色?

我想自定義UITableViewCell中的標準UILabel的背景顏色(因爲我已經自定義了單元格本身的背景顏色),但我沒有做任何事似乎工作。

我創造我自己的UILabel自定義顏色-tableView:的cellForRowAtIndexPath:

UILabel* label = [[[UILabel alloc] init] autorelease]; 
label.textColor = [UIColor blueColor]; 
label.backgroundColor = [UIColor redColor]; 
label.opaque = YES; 
[cell.contentView addSubview:label]; 
cell.text = @"Sample text here"; 

但是,這並不工作,產生的表視圖仍具有與黑色標籤一堆細胞文本和白色背景。

任何線索我在做什麼錯在這裏?

更新:如果我嘗試做的,而不是執行以下操作:

UILabel* label = [[[UILabel alloc] init] autorelease]; 
label.textColor = [UIColor blueColor]; 
label.backgroundColor = [UIColor redColor]; 
label.opaque = YES; 
[cell.contentView addSubview:label]; 
label.text = @"Sample text here"; 

我收到了一堆UITableViewCells與沒有任何文字。

回答

1

看起來您將文本分配給單元格而不是標籤。你可能想:

label.text = @"Sample text here"; 

此外,你需要標籤的框架設置爲您所需要的:

label.frame = CGRectMake(10,10, 80, 40); 

,或者直接在構造函數中:

label = [[UILabel alloc] initWithFrame:myFrame]; 
+0

不,這使得單元格不顯示任何文字。我會更新這個問題來反映這一點。 – jpm 2008-12-31 19:41:32

+0

您還需要設置框架的大小。我已經更新了我的答案。 – codelogic 2008-12-31 20:56:42

0

我不會」不要在代碼中這樣做。我會用一個自定義的XIB文件做到這一點,然後在

- (UITableViewCell *)tableView:(UITableView *)tv cellForRowAtIndexPath:(NSIndexPath *)indexPath 

委託函數加載它。這樣你可以設計XIB文件到你的確切規格,並調整它。

祝你好運!