搜索了一些帖子,我试图将一些动态生成的单元格的背景设置为透明。
在故事板中,我有一个原型表,在其下面我有一个图像。在故事板中,我将原型表的alpha设置为0.3,以便图像部分可见。它按照需要呈现。
问题是细胞增加了一层额外的颜色,因此图像仍然可见,但稍微少一些(例如,如果alpha为0.6)。实际上,似乎有三层。表格,单元格(使bg稍微变暗)然后在文本周围的每一行内再生一个小矩形(这会使bg变暗)。
我已经编辑了生成像这样的单元格的函数(基于我从本主题的主题中所理解的):
NSString *cellIdentifier = @"ItemCell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:cellIdentifier];
cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:cellIdentifier];
cell.textLabel.text = [self.labels objectAtIndex:indexPath.row]; // gets the text of the cell from an array
cell.textLabel.textColor = [UIColor colorWithRed:0.80 green:0.80 blue:0.80 alpha:1.0];
UIView *backView = [[UIView alloc] initWithFrame:CGRectZero];
backView.backgroundColor = [UIColor clearColor];
// I've also trued with = [UIColor colorWithRed:0. green:0 blue:0 alpha:0.0]
cell.backgroundView = backView;
问题是我仍然得到了额外的图层。
答案 0 :(得分:1)
请参阅,我已在代码中的某处进行了更改并尝试使用它。
[tableView setOpaque:NO];
NSString *cellIdentifier = @"ItemCell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:cellIdentifier];
//if cell is already created then reuse it no need to create unnecessarily.
if(cell= nil){//otherwise create new cells.
cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:cellIdentifier];
UIView *backView = [[UIView alloc] initWithFrame:CGRectZero];
backView.backgroundColor = [UIColor clearColor];
cell.backgroundView = backView;
}
cell.textLabel.text = [self.labels objectAtIndex:indexPath.row];
cell.textLabel.textColor = [UIColor colorWithRed:0.80 green:0.80 blue:0.80 alpha:1.0];
我希望它可以帮助你。
答案 1 :(得分:0)
[tableView setOpaque:NO];
[tableView setBackgroundColor:[UIColor clearColor]];