2012-05-31 80 views
4

我有一个UITableViewController,我试图定制样式。我有95%的方法,但是无法从单元格背景中移除奇怪的阴影。我突出了什么我想在这个屏幕截图删除:UITableViewCell背景颜色

Normal View

要尝试解决这个问题,我甩了所有正在撰写我的UITableView的意见,然后有色他们尝试并找到我需要改变的观点:

Styled View

正如你所看到的,我已经无法颜色的特定位置。换句话说,我找不到与该点相关的视图。

如何从我的细胞中去除阴影?

+0

你把在那里_something_定制的,因为它是一个暗红色的图案。该模式是否为渐变,并且渐变在每个部分中重新开始?在另一部分的顶部两个单元的边缘也是不正确的?你最后的结果是什么? – jrturton

+0

@jrturton该页面上唯一定制的是背景。我在'initWithNibName'中设置了以下代码:'self.tableView.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@“GC_TestWeight-red-background.jpg”]];' –

+0

并且该图像是一个渐变模式,还是一致的阴影? – jrturton

回答

3

表视图重启每节后面的梯度,因为它只是把你给它的颜色。

而是使用表视图的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; 
} 

这给出了以下(诚然,很难看!)。细胞“漂浮”在此之上。

enter image description here

+0

@jrturon真棒。精彩地工作。非常感谢你的帮助! –