UITableView 分隔符在 iPad 的两边都有边距

Say*_*jee 2 uitableview ios swift

我有一个 UITableView,其框架设置为父视图的框架大小。表格视图在 iPhone 上显示得很好。但是,在 iPad 上,它的两侧都有这么厚的边距。

如果我选择单元格,它会显示表格确实跨越了整个宽度。然而,分隔符似乎更小。我曾尝试将 layoutMargins 设置为零,但没有效果。这是我将它添加到我的视图的方法:

self.optionsView = UITableView()
self.optionsView.delegate = self
self.optionsView.dataSource = self
self.optionsView.hidden = true
self.optionsView.frame.origin = CGPoint(x: view.frame.size.width + 30, y: 0)
self.optionsView.frame.size = view.frame.size
self.optionsView.layer.shadowColor = Palette.shadowColor.CGColor
self.optionsView.layer.shadowRadius = 10.0
self.optionsView.layer.shadowOpacity = 0.3
self.optionsView.clipsToBounds = false

view.addSubview(optionsView)
Run Code Online (Sandbox Code Playgroud)

知道这里出了什么问题吗?

the*_*end 5

这里是:

tableView.cellLayoutMarginsFollowReadableWidth = false
Run Code Online (Sandbox Code Playgroud)

来自苹果文档:

CellLayoutMarginsFollowReadableWidth

一个布尔值,指示单元格边距是否源自可读内容指南的宽度。

什么是可读内容指南:

一个布局指南,表示视图中具有可读宽度的区域。

讨论

此布局指南定义了一个可以轻松阅读的区域,而无需强迫用户移动头部来跟踪线条。可读内容区域遵循以下规则:

可读内容指南永远不会超出视图的布局边距指南。

可读内容指南在布局边距指南内垂直居中。

可读内容指南的宽度等于或小于为当前动态文本大小定义的可读宽度。

使用可读的内容指南来布置单列文本。如果您要布置多列,则可以使用参考线的宽度来确定列的最佳宽度。

结论:

Apple 决定默认情况下您将使用他们的动态文本引擎,并且您的表格视图中只有 1 列。如果您不在这种情况下,您可能应该关闭此属性。如果你想知道可读宽度的值,你可以这样得到:

tableView.readableContentGuide.layoutFrame.width