UITableViewCell顶部阴影由UITableView标题视图覆盖

时间:2014-03-10 16:01:17

标签: ios objective-c uitableview ios7 calayer

我有一个带有自定义HeaderView的UITableView(通过故事板添加)。我想在表视图中的第一个单元格上放置阴影。不幸的是,标题视图覆盖了阴影。

我在cellForRowAtIndexPath中使用:

制作阴影
[cell setClipsToBounds:NO];
[cell.layer setMasksToBounds:NO];
[cell.layer setShadowOffset:CGSizeMake(0, 2)];
[cell.layer setShadowColor:[[UIColor blackColor] CGColor]];
[cell.layer setShadowRadius:4.0];
[cell.layer setShadowOpacity:1.0];
[cell.layer setZPosition:10.0];

如果我将标题视图的隐藏状态设置为YES,则会出现阴影。如果标题可见,它会覆盖我的阴影。我需要阴影显示在标题视图的前面。

我试过了:

[self.tableView sendSubviewToBack:self.headerView];

哪个没效果。

实现这一目标的正确方法是什么?谢谢!

1 个答案:

答案 0 :(得分:8)

将标题视图的zPosition设置为否定为我工作:

- (void)viewDidLoad
{
    [super viewDidLoad];
    self.tableView.tableHeaderView.layer.zPosition = -1;
}

我不需要修改视图排序或设置单元格zPosition