ChatGPT解决这个技术问题 Extra ChatGPT

如何修复 iOS 7 上的 UITableView 分隔符? [复制]

这个问题在这里已经有了答案:Is there a way to make UITableView cells in iOS 7 without a line break in the separator? (17 个回答) 8 年前关闭。

UITableView 在 iOS 7 上绘制参差不齐的线条:

https://i.stack.imgur.com/OE69H.png

如何解决?单元格之间的线应在屏幕的整个宽度上。


s
s1m0n

UITableView 有一个属性 separatorInset。您可以使用它将表格视图分隔符的插图设置为零,以让它们跨越屏幕的整个宽度。

[tableView setSeparatorInset:UIEdgeInsetsZero];

注意:如果您的应用程序还针对其他 iOS 版本,您应该在调用它之前检查此属性的可用性,方法如下:

if ([tableView respondsToSelector:@selector(setSeparatorInset:)]) {
    [tableView setSeparatorInset:UIEdgeInsetsZero];
}

请正确回答:` if ([tableView respondsToSelector:@selector(setSeparatorInset:)]) { [tableView setSeparatorInset:UIEdgeInsetsZero]; } `
我应该用哪种方法写这一行?对我不起作用。
这对我不起作用。但这有效:if ([self.tableView respondsToSelector:@selector(setSeparatorStyle:)]) { [self.tableView setSeparatorStyle:UITableViewCellSeparatorStyleNone]; }
这个答案在 iOS8 中对我不起作用。这确实...tableView.layoutMargins = UIEdgeInsetsZero; 在您的 cellForRowAtIndexPath 方法中:cell.layoutMargins = UIEdgeInsetsZero;
@Tim Awesome 评论。请将其作为答案发布,因为这是在 iOS8 中唯一简单的方法。
T
Tarek Hallak

这是 iOS7 设计的默认设置。尝试执行以下操作:

[tableView setSeparatorInset:UIEdgeInsetsMake(0, 0, 0, 0)];

您可以从情节提要中设置“分隔符插图”:

https://i.stack.imgur.com/6esYR.png

https://i.stack.imgur.com/ViW4c.gif


对于其他用户,请注意其默认值为“默认”。您需要将其更改为“自定义”才能编辑插入值。
希望在堆栈溢出中会有更多这样的 gif
这在 iOS 8 中表现得很奇怪。我将其设置为 0,但没有任何改变。但是我把它增加到50,它起作用了!我也尝试从代码中将其设置为 0,但没有。谁能证实这一点?我在 Xcode 6 beta 4 上。
我在 Xcode6 beta 4 中工作,当将左右两边的分隔符插入设置为 0 时,左侧仍然有一个小间隙。
我无法发布 ios 8/xcode 6 解决方案,因为问题已锁定。但您可以在此处找到适用于 ios 8/xcode 6 的解决方案:stackoverflow.com/questions/25770119/…