【问题标题】:iOS 15: Remove empty space before cells in UITableViewiOS 15:删除 UITableView 中单元格前的空白
【发布时间】:2021-11-18 03:57:58
【问题描述】:

我将UITableView 用于多部分列表。我看到的问题是每个部分的单元格上方有一个空格,即使我将 tableView(_:heightForHeaderInSection:) 设置为 0。即使只有一个部分并且我将 tableView(_:viewForHeaderInSection:) 设置为 nil,也会发生这种情况。

我已经尝试过 StackOverflow 上与插入覆盖/边缘扩展相关的所有其他答案,但都没有奏效。

例子:

【问题讨论】:

    标签: ios swift uitableview uikit


    【解决方案1】:

    检查您是否仅在 iOS 15 上看到此问题。如果是,这可能是由新引入的 UITableView.sectionHeaderTopPadding 属性引起的。您需要将此值设置为 0 以删除部分标题之前的间距:

    let tableView = UITableView()
    tableView.sectionHeaderTopPadding = 0
    
    // Etc.
    

    此属性仅在 iOS 15 中可用,因此如果为早期版本构建,您将需要 API 检查。

    如果您未使用 iOS 15,this question 可以找到此问题的大部分答案。

    【讨论】:

      【解决方案2】:

      另一种方法是设置在 UITableView 的 UIAppearance 代理中找到的 sectionHeaderTopPadding 值,以确保该值将应用于应用程序中的每个 UITableView 实例:

      if #available(iOS 15.0, *) {
          UITableView.appearance().sectionHeaderTopPadding = CGFloat(0)
      }
      

      【讨论】:

        猜你喜欢
        • 2013-09-25
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-11-27
        • 2015-03-22
        • 2016-12-02
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多