当 table.width 远大于 view.width 时,UITableViewCell 分隔符插图不起作用

UITableViewCell separator insets don't work when table.width is much greater than view.width

当 table.width 远大于 iOS 上的 view.width 时,UITableViewCell 分隔符不工作 10,我还没有在 iOS 的设备上尝试过版本小于 iOS 10.

code is here on gist

您可以使用以下代码在 UITableView 中添加分隔符

 UIView* separatorLineView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 320, 3)];/// change size as you need.       
 separatorLineView.backgroundColor = [UIColor whiteColor];// you can also put image here
 [cell.contentView addSubview:separatorLineView];

并删除 UITableView 的默认分隔符。希望对你有帮助。

_tableView.cellLayoutMarginsFollowReadableWidth = NO;

它在上面有效。

参考

Xcode 7 iOS 9 UITableViewCell Separator Inset issue

有两种方法可以解决这个问题。

第一个可以在单元格内容视图中添加分隔线视图。

 UIView* line = [[UIView alloc] initWithFrame:CGRectMake(0, 0, tableview.frame.size.width, 3)];      
 line.backgroundColor = [UIColor whiteColor];

[cell.contentView addSubview:line];

第二个是 apple 提供的,也很简单,只需在声明 tableview 的地方添加这行代码即可

yourTableView.cellLayoutMarginsFollowReadableWidth = NO;