0

Upon changing the highlight color of the cell when selected, the box drawn around the top and bottom of the table no longer clips within the table's borders.

I have tried clipsToBounds with both tableView and the cells, but with no luck.

Any solutions?

Thanks!

image of the problem >

enter image description here

4

3 回答 3

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;

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

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

于 2013-07-13T20:28:05.783 回答
0

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

于 2013-07-13T19:38:01.030 回答
0

看图,试试

 [cell setSelectionStyle:UITableViewCellSelectionStyleNone];
于 2013-07-13T19:15:41.110 回答