如何防止tableview部分头部在滚动时粘住?

时间:2017-11-17 22:02:30

标签: ios swift uitableview

我有一个包含许多部分的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()
}

6 个答案:

答案 0 :(得分:1)

一些可能的解决方案:

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

答案 1 :(得分:1)

UITableViewStyle设置为UITableViewStyleGrouped,标题会向上滚动细胞。 和

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

答案 2 :(得分:1)

执行以下步骤。

来自@IB

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

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

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

答案 3 :(得分:0)

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

答案 4 :(得分:0)

将UITableViewStyle更改为UITableViewStyleGrouped。

答案 5 :(得分:0)

步骤 1:转到 Mainstoryboard

第 2 步:点击您的 Tableview

第 3 步:转到 Attribute Inspector

Step4:找到Style Attribute下拉菜单,默认是Plain

步骤 5:将其更改为 Grouped

enter image description here