當我將UITableViewCells backgroundColor
設置爲半透明顏色時,它看起來不錯,但顏色不覆蓋整個單元格。UITableViewCell透明背景(包括imageView/accessoryView)
的imageView
和accessoryView
周圍的地區都上來爲[UIColor clearColor]
...
我試過明確設置cell.accessoryView.backgroundColor
和cell.imageView.backgroundColor
爲彩色作爲細胞的backgroundColor
相同,但它不起作用。它會在圖標周圍放置一個小框,但不會展開以填充左側邊緣。右邊緣似乎不受此影響。
我該如何解決這個問題?
編輯:這裏是原始表格單元代碼:
- (UITableViewCell *)tableView:(UITableView *)tv cellForRowAtIndexPath:(NSIndexPath *)indexPath {
static NSString *CellIdentifier = @"Cell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
cell = [[[UITableViewCell alloc] initWithFrame:CGRectZero reuseIdentifier:CellIdentifier] autorelease];
cell.opaque = NO;
cell.textLabel.backgroundColor = [UIColor clearColor];
cell.backgroundColor = [UIColor colorWithRed:.1 green:.1 blue:.1 alpha:.4];
cell.textColor = [UIColor whiteColor];
}
cell.imageView.image = [icons objectAtIndex:indexPath.row];
cell.textLabel.text = [items objectAtIndex:indexPath.row];
cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator;
return cell;
}
其實我還得做1件事。 cell.textLabel.backgroundColor需要設置* AFTER *單元格的背景色。我不知道爲什麼我需要這樣做,但現在它工作。謝謝邁克! – 2009-10-03 14:24:10