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

neo*_*neo 2 uitableview ios autolayout safearealayoutguide

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

    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
Run Code Online (Sandbox Code Playgroud)

通过这样做,我取消了 UITableView 中的 safeArea 并设置顶部、底部约束忽略safeAreaLayoutGuide。是的,当我滚动表格时它完美地工作,并且安全区域根据我的需要被忽略。这是显示此内容的图像:

在此输入图像描述

但问题是在一开始我不开始滚动或触摸桌子时。它从安全区域以下开始,而不是在安全区域之外。这里是:

在此输入图像描述

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

Tyl*_*ler 6

您还需要设置tableView's contentInsetAdjustmentBehavior

tableView.contentInsetAdjustmentBehavior = .never
Run Code Online (Sandbox Code Playgroud)