如何将投影添加到UITableViewCell的分隔线?

我有一个像这样的UITableView:

在这里输入图像说明

我想给每个单元的分隔线添加阴影,结果应该是这样的:

在这里输入图像说明

我试过这个:

cellForRowAtIndexPath:方法中,我添加了以下代码:

 cell.layer.shadowOpacity = 1.0; cell.layer.shadowRadius = 1.7; cell.layer.shadowColor = [UIColor blackColor].CGColor; cell.layer.shadowOffset = CGSizeMake(0.0, 0.0); 

然后显示如下:

在这里输入图像说明

请注意,第一个单元格和状态栏之间有一个不需要的阴影。

任何想法如何删除它? 它不必build立在我使用的投影代码上。

通过将shadowRadius设置为小于shadowOffset y值的值,我可以非常接近您要查找的内容。 例如,

  cell.layer.shadowOpacity = 1.0 cell.layer.shadowRadius = 1 cell.layer.shadowOffset = CGSizeMake(0, 2) cell.layer.shadowColor = UIColor.blackColor().CGColor 

给我:

在这里输入图像说明

该图像是在拖动表格视图的情况下捕获的。 最顶层的细胞之上没有阴影。 阴影比你要找的阴暗,但你应该能够通过改变shadowOpacity轻松地调整你的喜好。

在cellForRowAtIndexPath:方法中,

 UIBezierPath *shadowPath2 = [UIBezierPath bezierPathWithRect:cell.bounds]; cell.layer.masksToBounds = NO; cell.layer.shadowColor = [UIColor blackColor].CGColor; cell.layer.shadowOffset = CGSizeMake(0.0f, 5.0f); cell.layer.shadowOpacity = 0.5f; cell.layer.shadowPath = shadowPath2.CGPath;