2010-12-05 82 views
2

我希望将图像添加到单元格背景,并且从半透明单元格中我可以看到tableview的背景。如何制作半透明UITableViewCells?

从下面的话题,我知道如何做透明细胞。

UITableViewCell transparent background (including imageView/accessoryView)

我上面试过,没有工作。但是,当我添加以下代码:

UIView *backView = [[[UIView alloc] initWithFrame:CGRectZero] autorelease]; 
backView.backgroundColor = [UIColor colorWithRed:.1 green:.1 blue:.1 alpha: .4]; 
cell.backgroundView = backView; 

此单元变成灰色,没有任何透明度,如果我改变的代码如下,

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

的单元变成白色,仍然没有任何透明度。

有没有人可以给我任何线索?

回答

0

默认情况下,视图初始化为不透明,所以您可能需要明确设置backView.opaque = NO;以使其以任何透明度绘制。

+0

我添加了backView.opaque = NO,但它不起作用。还有其他建议吗? – user497032 2010-12-06 01:51:44

2

要使您的半透明透明UITableViewCells,您必须使您的UITableViewCells透明,然后将单元格的backgroundView设置为具有半透明属性的图像。还将单元格的selectedBackgroundView设置为半透明图像,并给出选定单元格的效果。

UIView *backView = [[[UIView alloc] initWithFrame:CGRectZero] autorelease]; 
backView.backgroundColor = [UIColor clearColor]; 
cell.text.backroundColor = [UIColor clearColor]; //if you have labels on cells.. 
cell.backgroundView = backView; 

然后用在我们的透明细胞半透明效果设置图像..

UIImageView *cellImage = [[UIImageView alloc] init]; 
[cellImage setImage:[UIImage imageNamed: @"unselectedCellImage.png"]]; 
[cell setBackgroundView:cellImage]; 
[cellImage release]; 

然后设置用于选择的细胞的图像,得到选择也之后一个半透明的效果..

UIImageView *cellImageSelection = [[UIImageView alloc] init]; 
[cellImageSelection setImage:[UIImage imageNamed: @"selectedCellImage.png"]]; 
[cell setSelectedBackgroundView:cellImageSelection]; 
[cellImageSelection release]; 

它会工作.. 干杯..

1

你可以试试这个

UIView *backView = [[[UIView alloc] initWithFrame:CGRectZero] autorelease]; 
backView.backgroundColor = [UIColor colorWithRed:255 green:255 blue:255 alpha: .2]; 
cell.backgroundView = backView; 

你做错了,你选择1.1.1 .1是黑色您需要什么255 255 255为白色,不透明度你是非常高,所以它实际上是看着灰色给你黑色,不透明。希望这有助于:)