我有一个 UITableViewController 我正在尝试自定义样式。我已经完成了 95% 的工作,但是无法从单元格背景中移除奇怪的阴影。我在此屏幕截图中突出显示了我要删除的内容:
为了尝试解决这个问题,我已经转储了构成我的 UITableView 的所有视图,然后对它们进行着色以尝试找到我需要更改的视图:
如您所见,我无法为该特定位置着色。换句话说,我找不到与该地点相关的视图。
如何从我的单元格中移除阴影?
我有一个 UITableViewController 我正在尝试自定义样式。我已经完成了 95% 的工作,但是无法从单元格背景中移除奇怪的阴影。我在此屏幕截图中突出显示了我要删除的内容:
为了尝试解决这个问题,我已经转储了构成我的 UITableView 的所有视图,然后对它们进行着色以尝试找到我需要更改的视图:
如您所见,我无法为该特定位置着色。换句话说,我找不到与该地点相关的视图。
如何从我的单元格中移除阴影?
表格视图正在重新启动每个部分后面的渐变,因为它只是采用您给它的颜色。
相反,使用backgroundView
表格视图的属性 - 使用您的图像创建一个图像视图,并将其设置为背景视图,或者像上面那样创建一个具有背景颜色的 UIView。
您将需要删除您在其他地方设置背景颜色的任何代码,并确保您的部分标题视图具有清晰的背景或对比鲜明的背景。
作为一个简单的演示,我创建了一个分组表视图,其背景颜色设置为清除,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;
}
这给出了以下内容(诚然,非常难看!)。细胞“漂浮”在此之上。