我希望将图像添加到单元格背景中,从半透明单元格中我可以看到tableview的背景。
从以下主题,我知道如何制作透明单元格。
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 :(得分: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 :(得分: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这是黑色你需要255 255 255白色你的不透明度非常高,所以它看起来是灰色的,实际上它是黑色的不透明度。希望这会有所帮助:)
答案 2 :(得分:0)
默认情况下,视图被初始化为opaque,因此您可能需要显式设置backView.opaque = NO;
,以便以任何透明度进行绘制。