我的UITableViewCell
内部的标签阻挡了背景图片,我遇到了问题。似乎它只发生在未选择状态。我尝试将背景颜色设置为清除,但是没有这样做。它采用了tableview的背景颜色。我是否也必须设置标签背景图片?
// Neither of these worked...
cell.textLabel.backgroundColor = [UIColor clearColor];
cell.contentView.backgroundColor = [UIColor clearColor];
这是我的cellForRowAtIndexPath
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"SimpleTableIdentifier"];
if (cell == nil)
{
cell = [[[UITableViewCell alloc] initWithFrame:CGRectZero reuseIdentifier:@"SimpleTableIdentifier"] autorelease];
}
UIImage *image = [UIImage imageNamed:@"TableRow.png"];
UIImageView *imageView = [[UIImageView alloc] initWithImage:image];
imageView.contentMode = UIViewContentModeScaleToFill;
cell.backgroundView = imageView;
[imageView release];
UIImage *imageSelected = [UIImage imageNamed:@"TableRowSelected.png"];
UIImageView *imageViewSelected = [[UIImageView alloc] initWithImage:imageSelected];
imageViewSelected.contentMode = UIViewContentModeScaleToFill;
cell.selectedBackgroundView = imageViewSelected;
[imageViewSelected release];
cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator;
cell.textLabel.textColor = [UIColor whiteColor];
cell.textLabel.text = [[self.trivia.questionsets objectAtIndex:indexPath.row] valueForKeyPath:@"title"];
return cell;
}
更新:有点解决了......
如果我将表格的背景颜色(我假设在所有东西下面)设置为清除,那么我的图像会突然显示出我期望的位置,但是桌面背景现在显示在所有内容的顶部?这是预期的行为吗? (尚未查看有关此文档的文档)
tableView.backgroundColor = [UIColor redColor];
cell.contentView.backgroundColor = [UIColor orangeColor];
cell.textLabel.backgroundColor = [UIColor yellowColor];
...并且要完成,如果我将表格和单元格的背景颜色设置为清除,我们就很好。 textlabel背景颜色没有区别。
tableView.backgroundColor = [UIColor clearColor];
cell.contentView.backgroundColor = [UIColor clearColor];
cell.textLabel.backgroundColor = [UIColor yellowColor];
答案 0 :(得分:0)
是的,这是预期的行为。
您的tableview是一个位于其他一切之前的子视图。如果桌面视图前面有某些东西(即背景),则会使桌面模糊不清。