UITableViewCell背景色

时间:2012-05-31 16:34:28

标签: iphone ios uitableview

我有一个UITableViewController,我正在尝试自定义样式。我有95%的路在那里,但我在从单元格背景中删除奇怪的阴影时遇到问题。我已经在这个屏幕截图中突出显示了我要删除的内容:

Normal View

为了尝试解决这个问题,我已经转储了构成我的UITableView的所有视图,然后将它们着色以尝试找到我需要更改的视图:

Styled View

正如你所看到的,我一直无法为那个特定的地方着色。换句话说,我找不到与该点相关的视图。

如何从细胞中删除阴影?

1 个答案:

答案 0 :(得分:3)

表视图正在重新启动每个部分后面的渐变,因为它只是采用您给出的颜色。

相反,使用表格视图的backgroundView属性 - 使用图像创建图像视图,并将其设置为背景视图,或者像上面一样创建具有背景颜色的UIView。

您需要删除在其他位置设置背景颜色的任何代码,并确保您的部分标题视图具有清晰的背景或对比鲜明的背景。

作为一个简单的演示,我创建了一个分组表视图,其背景颜色设置为clear,以及表视图控制器的viewDidLoad中的以下代码:

- (void)viewDidLoad
{
    [super viewDidLoad];

    UIView *backgroundView = [[UIView alloc] initWithFrame:self.tableView.bounds];
    CAGradientLayer *layer = [CAGradientLayer layer];
    layer.colors = [NSArray arrayWithObjects:(id)[UIColor redColor].CGColor,(id)[UIColor whiteColor].CGColor, nil];
    layer.frame = backgroundView.frame;
    [backgroundView.layer addSublayer:layer];
    self.tableView.backgroundView = backgroundView;
}

这给出了以下(当然,非常难看!)。细胞“浮动”在此之上。

enter image description here