最佳答案
如果您的 TableView 是 View Controller View 中的第一个 View ,则 View Controller 将设置其 contentInset
值以将内容移动到导航栏下方。 IB 中有一个设置:
但是现在您的 TableView 不是 View 上的第一个对象,它不再获得这种自动好处。所以需要你自己用代码来完成。可能类似于这样:
override func viewDidLoad() {
super.viewDidLoad()
tableView.contentInset = UIEdgeInsets(top: 64, left: 0, bottom: 20, right: 0)
}
64 并不是所有应用程序的确切数字。例如,在手机的横向模式下,您的导航栏可能会更薄。因此,您可能想在此处实际使用 View Controller 的顶部布局指南值。
请注意,我在底部添加了 20 以便为页面指示器留出空间。这假设 TableView 将显示在其后面。您也可以在运行时测量该对象。
您也可以通过将 TableView 设置为层次结构中最后面的 View 来解决该问题。
关于swift - 表格 View 偏移,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35090406/