我有一个UITableView
以 aUIImageView
为背景的习俗。我想在表格中显示一些透明的单元格,这样我就可以通过单元格的背景图片看到背景图片。
到目前为止,我使用自定义将单元格设置backgroundView
为 a并将背景图像视图设置为. 我还将单元格设置为.UIImageView
alpha
backgroundColor
[UIColor clearColor]
backgroundColor
[UIColor clearColor]
最初绘制单元格时,我仍然看到白色背景。但是,如果我将单元格拖出屏幕,它会在重新打开时是透明的。有人知道这是怎么回事吗?
编辑:这是一些代码,尽管我认为它并没有真正告诉您比我上面所说的更多的信息。一些敏感/不相关的东西被删掉了。
- (id)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier {
if((self = [super initWithStyle:style reuseIdentifier:reuseIdentifier])) {
[self setBackgroundColor:[UIColor clearColor]];
...
_backgroundImageView = [[UIImageView alloc] initWithFrame:[[self contentView] bounds]];
[_backgroundImageView setAlpha:0.5];
[_backgroundImageView setOpaque:NO];
[_backgroundImageView setBackgroundColor:[UIColor clearColor]];
[self setBackgroundView:_backgroundImageView];
}
return self;
}
- (void)drawRect:(CGRect)rect {
[super drawRect:rect];
[_backgroundImageView setFrame:rect];
}
// in a different file
- tableView:cellForRowAtIndexPath: {
...
[cell setBackgroundColor:[UIColor clearColor]];
[cell setOpaque:NO];
return cell;
}