嵌入ContainerView时如何删除UITableView顶部插入?

fun*_*len 4 iphone storyboard uitableview ios uicontainerview

我目前正在开发iPhone应用程序.我现在有一个UITableView的顶部间距插入问题.看这个截图:

应用运行. 看到空间?

表格视图单元格和按钮之间不应有空格.

我不知道如何解决这个问题.UITableView嵌入在ContainerView中,如下所示:

故事板视图控制器

我认为我的容器视图约束正确."顶部空间到章节"按钮设置为0.

容器视图约束

我试图在故事板中更改表视图控制器的一些设置.比如说Adjust Scroll View Insets.但是当我禁用它时它不会改变任何东西.

TableViewController设置

我还尝试直接在代码中设置TableView insets viewDidLoad():

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

然而,这也没有解决它.

有人可以帮忙吗?我不知道在哪里看.

fun*_*len 21

这可以通过禁用滚动视图插入的自动调整来解决.但是,此设置必须应用于包含ContainerView的ViewController(其中包含UITableView).应用于UITableView本身时它不起作用.

这可以通过Storyboard完成:

调整滚动视图插入

或者通过以下代码viewDidLoad():self.automaticallyAdjustsScrollViewInsets = false

  • 例如 `tableView.contentInsetAdjustmentBehavior = .never` (3认同)
  • 这已被弃用:`'automaticallyAdjustsScrollViewInsets' 在 iOS 11.0 中已弃用:使用 UIScrollView 的 contentInsetAdjustmentBehavior 代替` (2认同)

Leo*_*eon 15

自 iOS 15 起,有一个新参数可以在使用节标题时引入顶部间隙。可以通过以下方法将其删除:

if #available(iOS 15, *) {
    tableView.sectionHeaderTopPadding = 0
}
Run Code Online (Sandbox Code Playgroud)