我有一个UITableViewController,我正在尝试自定义样式。我有95%的路在那里,但我在从单元格背景中删除奇怪的阴影时遇到问题。我已经在这个屏幕截图中突出显示了我要删除的内容:
为了尝试解决这个问题,我已经转储了构成我的UITableView的所有视图,然后将它们着色以尝试找到我需要更改的视图:
正如你所看到的,我一直无法为那个特定的地方着色。换句话说,我找不到与该点相关的视图。
如何从细胞中删除阴影?
答案 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;
}
这给出了以下(当然,非常难看!)。细胞“浮动”在此之上。