ios单元格突出显示颜色clipstobounds

时间:2013-07-13 19:07:55

标签: ios objective-c

选择时更改单元格的高亮颜色后,围绕表格顶部和底部绘制的框不再在表格边框内剪辑。

我已经尝试过使用tableView和单元格的clipsToBounds,但没有运气。

任何解决方案?

谢谢!

问题的图像>

enter image description here

3 个答案:

答案 0 :(得分:1)

我知道如何使你需要工作的效果,可能不是最好的方法,但你可以尝试。

首先检查细胞是否是最后一个细胞;如果是的话:

UIBezierPath *lastCellMask;
lastCellMask = [UIBezierPath bezierPathWithRoundedRect:cell.bounds byRoundingCorners:(UIRectCornerBottomLeft | UIRectCornerBottomRight) cornerRadii:CGSizeMake(3.0, 3.0)];

CAShapeLayer *cellMaskLayer = [[CAShapeLayer alloc] init];
cellMaskLayer.frame = cell.bounds;
cellMaskLayer.path = lastCellMask.CGPath;
cell.layer.mask = cellMaskLayer;

并对第一个单元格执行相反的操作

这对我有用,检查一下这是否可以帮助你

答案 1 :(得分:0)

查看图片,试试

 [cell setSelectionStyle:UITableViewCellSelectionStyleNone];

答案 2 :(得分:0)

问题是您在表格视图中使用grouped样式。分组表视图没有您在UI中看到的边距,并且使用clipToBounds将无济于事,因为单元格边界正是您在选择单元格时看到的边界。您可以做的是使用单元格的cornerRadius图层属性(仅限该部分中的第一个和最后一个单元格),以便对角进行圆整并创建所需的结果。