【问题标题】:Space between TableViewHeader and Section HeaderTableViewHeader 和 Section Header 之间的空间
【发布时间】:2021-12-28 01:39:55
【问题描述】:

我需要帮助摆脱我的 TableView 的主标题和节标题之间的空间。

   let tableView: UITableView = {
       let tableView = UITableView(frame: .zero, style: .plain)
       return tableView
   }()

   tableView.tableHeaderView = postView

帖子视图是动态的,因此我无法在委托方法中设置该 headerView 的高度。

我想把 postView 和它下面的部分放在一起,但是有一个奇怪的空间。

【问题讨论】:

    标签: ios swift uitableview


    【解决方案1】:

    试试这个代码 Setting tableHeaderView height dynamically

    override func viewDidLayoutSubviews() {
        super.viewDidLayoutSubviews()
    
        if let headerView = tableView.tableHeaderView {
    
            let height = headerView.systemLayoutSizeFitting(UIView.layoutFittingCompressedSize).height
            var headerFrame = headerView.frame
    
            //Comparison necessary to avoid infinite loop
            if height != headerFrame.size.height {
                headerFrame.size.height = height
                headerView.frame = headerFrame
                tableView.tableHeaderView = headerView
            }
        }
    }
    

    【讨论】:

      【解决方案2】:

      尝试以下方法:

      let tableView: UITableView = {
          let tableView = UITableView(frame: .zero, style: .grouped)
          return tableView
      }()
      
      tableView.tableHeaderView = postView
      

      【讨论】:

      • 请注意,使用分组样式还会导致标题锁定到每个部分的顶部单元格,而不是允许部分单元格独立滚动。
      • 谢谢,我知道分组样式总是将部分标题与单元格粘贴在一起。如果这不是问题,这将起作用。
      猜你喜欢
      • 1970-01-01
      • 2017-11-15
      • 2015-05-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-09-11
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多