使单元格的背景透明,而不使文本透明

时间:2011-07-25 00:24:45

标签: objective-c ios cocoa-touch uitableview

我有一个UITableView,我希望有一个透明的背景,但我似乎无法在不使单元格中的文本透明的情况下得到它。这就是我所拥有的。

UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];

if (cell == nil) {
   cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier] autorelease];
}

NSString *labelString = @"Hello";

[cell setBackgroundColor:[UIColor darkGrayColor]];
cell.alpha 0.2f;

cell.textLabel.textcolor = [UIColor whiteColor];
cell.textLabel.text = labelString;

我尝试过其他一些东西,例如设置contentView的背景颜色和alpha,以及backgroundView的颜色和alpha,似乎没什么用。


2 个答案:

答案 0 :(得分:4)

而不是设置cell.alpha,

cell.backgroundColor = [UIColor clearColor];

您可能还需要设置表格视图背景。

答案 1 :(得分:2)

将此代码放入-tableView:willDisplayCell:forRowAtIndexPath:解决了问题。

UIView *backView = [[[UIView alloc] initWithFrame:CGRectZero] autorelease];
backView.backgroundColor = [UIColor clearColor];
cell.backgroundView = backView;