【问题标题】:How to prevent tableview section head from sticking while scrolling?如何防止表格视图部分头部在滚动时卡住?
【发布时间】:2017-11-17 22:02:30
【问题描述】:

我有一个包含许多部分的表格视图。我正在使用一个实际的 tableview 单元格,我将其出列用作自定义节标题。我遇到的问题是,当我将部分标题“粘”到表格顶部时,直到出现下一部分。

我怎样才能防止这种情况发生并真正让它像往常一样向上滚动?

这是我的代码

func tableView(_ tableView: UITableView, viewForHeaderInSection section: Int) -> UIView? {
    if section == 3 {
        let cell = tableView.dequeueReusableCell(withIdentifier: "headerCell") as! HeaderTableViewCell
        return cell
    }
    return UIView()
}

【问题讨论】:

标签: ios swift uitableview


【解决方案1】:

执行以下步骤。

来自@IB

  1. 选择您的 tableView
  2. 转到属性检查器
  3. 查找样式属性下拉菜单,默认为Plain
  4. 将其更改为Grouped

或者,如果您正在以编程方式创建 TableView,请使用

let tableView = UITableView(frame: YourFrame, style: .Grouped)

【讨论】:

  • @MassimoPavanel 我相信有一天你会为我做同样的事情:)
【解决方案2】:

将 UITableViewStyle 更改为 UITableViewStyleGrouped。

【讨论】:

    【解决方案3】:

    将UITableViewStyle 设置为UITableViewStyleGrouped,标题将随着单元格向上滚动。 和

    func tableView(_ tableView: UITableView, 
    heightForFooterInSection section: Int) -> CGFloat
    {
        return 0.000001;
    }
    

    【讨论】:

      【解决方案4】:

      一些可能的解决方案:

      1. 如果您只有一个部分,请将 Tableview Header 属性设置为您想要设置为 Section Header 的 UIView。
      2. 如果您有多个部分,请将每个部分的行数更改为(该部分的行数 + 1)并将第 0 个索引处的行作为标题。需要一些手工编码。
      3. 将您的 tableview 更改为 grouped,需要重新设计 UI,使设计看起来类似于普通的 tableview 单元格。

      【讨论】:

        【解决方案5】:

        步骤一:去Mainstoryboard

        第二步:点击你的Tableview

        第三步:去Attribute Inspector

        Step4:找到Style Attribute下拉框,默认为Plain

        Step5:改成Grouped

        【讨论】:

          【解决方案6】:

          您应该使用UITableViewCell 而不是UIHeaderViewCell。将节标题高度设为 0,并且对于该节中的每个第 0 个项目,显示一个带有标题的 UITableViewCell

          【讨论】:

            猜你喜欢
            • 2017-07-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2013-01-03
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多