使用tableview时如何删除安全区域?

How to remove safe area when tableview is used?

我在UIViewController里面有简单的UITableView。这是我设置的配置和约束:

    tableView.translatesAutoresizingMaskIntoConstraints = false
    tableView.insetsContentViewsToSafeArea = false
    view.addSubview(tableView)
    tableView.leadingAnchor.constraint(equalTo: view.leadingAnchor).isActive = true
    tableView.trailingAnchor.constraint(equalTo: view.trailingAnchor).isActive = true
    tableView.topAnchor.constraint(equalTo: view.topAnchor).isActive = true
    tableView.bottomAnchor.constraint(equalTo: view.bottomAnchor).isActive = true

通过这样做,我取消了 UITableView 中的 safeArea 并设置了忽略顶部、底部约束 safeAreaLayoutGuide。是的,当我滚动 table 并且我想要忽略安全区域时,它非常有效。这是显示此内容的图片:

但问题出在开始时我没有开始滚动或触摸 table。它从安全区域下方开始,而不是安全区域之外。这是:

我不希望它发生。我希望我的 UITableView(或第一个 UITableViewCell)从最高点开始,忽略安全区域。即使我正确设置了约束,UITableView 似乎也忽略了这一点。那么,如何解决这个问题呢?

您还需要设置 tableViewcontentInsetAdjustmentBehavior:

tableView.contentInsetAdjustmentBehavior = .never