我对 UITableViewCell 的分隔符的实现有疑问。
从屏幕截图中可以看出,在分隔符之前可以看到一个白色间隙,我认为这是因为我将单元格的 bg 颜色设置为浅灰色,并将分隔符的插图设置为 53。
我的第一次尝试不是使用分隔符,而是尝试自己在单元格的末尾绘制线条。但是由于在选择行时行的内容得到更新,并且在单元格高度的计算方面存在很多问题。
所以基本上我很难在单元格的末尾精确绘制线条像素。
这让我可以选择访问单元格的分隔符 View ,目前还没有任何简单的方法,并用我的默认表格背景颜色填充空白。
我的问题是,如何访问分隔符 View
或者
我是否有任何其他替代方案来实现我想要的?
非常感谢。
最佳答案
UITableView 不提供直接访问或修改单元格分隔符 View 的 API。然而,它有改变它的颜色、样式等的方法。不过,大多数时候,自定义分隔符的唯一解决方案是自己绘制,或者更好的是,将单元格的 backgroundView 属性设置为带有一条线的简单 View subview 或其中的图层( subview 虽然有一些开销,但可以让您灵活地使用自动调整掩码或自动布局自动调整大小)。
例如
UIView *backgroundView = [[UIView alloc] initWithFrame:cell.bounds];
UIView *lineView = [[UIView alloc] initWithFrame:CGRectMake(0, CGRectGetMaxY(backgroundView.bounds) - 1, CGRectGetWidth(backgroundView.bounds), 1.0f];
[lineView setAutoresizingMask:(UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleTopMargin)];
[backgroundView addSubview:lineView];
cell.backgroundView = backgroundView;
关于ios - 如何自定义 UITableView 的 Separator View?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21321998/