Ios 如何防止滚动时tableview节头卡住?

Ios 如何防止滚动时tableview节头卡住?,ios,swift,uitableview,Ios,Swift,Uitableview,我有一个包含许多部分的tableview。我使用的是一个实际的tableview单元格,我将其出列以用作自定义节头。我遇到的问题是,当我滚动节标题“粘住”到表的顶部,直到下一节出现 我如何防止这种情况发生,并让它像正常情况一样向上滚动 这是我的密码 func tableView(_ tableView: UITableView, viewForHeaderInSection section: Int) -> UIView? { if section == 3 { l

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

我如何防止这种情况发生,并让它像正常情况一样向上滚动

这是我的密码

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

一些可能的解决办法:

  • 如果只有一个节,则将Tableview标头属性设置为要设置为节标头的UIView
  • 如果有多个节,请将每个节的行数更改为(该节的行数+1),并将第0个索引处的行作为标题。需要一些手动编码
  • 将tableview更改为“分组”,将需要重新设计UI,使设计看起来类似于普通的tableview单元格

  • 您应该使用
    UITableViewCell
    ,而不是
    UIHeaderViewCell
    。将节标题高度设置为0,并且对于该节中的每第0项,显示一个带有标题的
    UITableViewCell
    ,将
    UITableViewStyle
    设置为
    uitableViewStyleGroup
    ,标题将随单元格一起向上滚动。 及


    将UITableViewStyle更改为UITableViewStyleGroup。

    执行以下步骤

    来自@IB

  • 选择您的tableView
  • 转到属性检查器
  • “查找样式属性”下拉列表,默认情况下为
    Plain
  • 将其更改为
    Grouped
  • 或者,如果要以编程方式创建TableView,请使用

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

    可能的重复有点帮助,但我不希望我的tableview被分组,因为它使它看起来不同(有点像设置应用程序)。你保存了我的一天^^@MassimoPavanel我相信有一天你会为我做同样的事:)
    let tableView = UITableView(frame: YourFrame, style: .Grouped)