UITableView ContentInset 和 ContentOffset

UITableView ContentInset and ContentOffset

我在使用 contentInset 属性 时遇到了问题。我有一个 UITableView,具有动态单元格大小 (AutoLayout)。我正在设置 contentInset 属性 以在内容顶部上方留下一些 space。但我得到以下结果:

内容为蓝色,内容插入为紫色。当table视图第一次出现时,是在左边的情况。我可以滚动到正确的情况,这是有效的,但我希望 table 视图直接显示在右图中 - 我认为这是默认行为。

我怎样才能做到这一点?

这是从情节提要中轻松修复它的方法:

Table 查看 > 大小检查器 > 内容插入:从不

您提供了一个 UIEdgeInsets 目标,

UIEdgeInsets(top: 50, left: 0, bottom: 0, right: 0)

顶部属性显示内容顶部到区域顶部边框的距离。

不确定这是否是最好的方法,但我通过添加修复了它:

tableView.contentOffset.y = -70

行后:

tableView.contentInset = UIEdgeInsets(top: 70, left: 0, bottom: 50, right: 0)

您可以在加载视图时以编程方式滚动。

tableView.setContentOffset(CGPoint(x: 0, y: -70), animated: false)