如何将投影添加到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;