ios - 如何自定义 UITableView 的 Separator View?

标签 ios objective-c uitableview

我对 UITableViewCell 的分隔符的实现有疑问。

从屏幕截图中可以看出,在分隔符之前可以看到一个白色间隙,我认为这是因为我将单元格的 bg 颜色设置为浅灰色,并将分隔符的插图设置为 53。

我的第一次尝试不是使用分隔符,而是尝试自己在单元格的末尾绘制线条。但是由于在选择行时行的内容得到更新,并且在单元格高度的计算方面存在很多问题。

所以基本上我很难在单元格的末尾精确绘制线条像素。

这让我可以选择访问单元格的分隔符 View ,目前还没有任何简单的方法,并用我的默认表格背景颜色填充空白。

我的问题是,如何访问分隔符 View

或者

我是否有任何其他替代方案来实现我想要的?

非常感谢。

enter image description here

最佳答案

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/

相关文章:

ios - 如何删除 UITableView 中的空节标题

iphone-sdk-3.0 - 在iOS应用程序中执行自定义位图绘制

ios - EXC_BAD_INSTRUCTION 按下按钮

ios - GTMOauth2 iOS 刷新 token

ios - UIImageView 在 Xcode8 和 Swift3 中被隐藏

ios - 自定义 UITableViewCell 样式

iphone - UITableView cellForRowAtIndexPath 导致滚动缓慢

iphone - 与 NSString 相关的问题

objective-c - iOS 中是否有用于 POP/IMAP 的 API?

uitableview - 具有UIButton的TableviewCell