ios tableview节标题不粘

时间:2018-12-21 10:39:46

标签: ios tableview uitableviewsectionheader

我有一个tableview和tabview(3个不同的选项卡)。我想显示第一个选项卡的4个部分,第二个选项卡的3个部分和。第三个标签的2部分。 正好第一部分的标题必须位于视图的顶部。因此,我仅在第一部分实现了headerview,但是标题滚动并像表视图单元格一样被隐藏。它没有粘在屏幕顶部,这是什么问题?我必须实现或重写tableview的特定功能吗?

func tableView(_ tableView: UITableView, heightForHeaderInSection section: Int) -> CGFloat {
    if section == 0{
      return UITableView.automaticDimension
    }else {
        return 0 //sadece 1. sectionda tablar header olarak olacak diğerlerinde header olmayacak
    }
}

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

func numberOfSections(in tableView: UITableView) -> Int {
    if dataReady {
        totalSectionCount = getSectionCount()
        return totalSectionCount
    }else {
        return 1 //permanent because of tabview
    }
}

func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int{
    if !dataReady || ApplicationContext.instance.userAuthenticationStatus.value == .semiSecure{
        return 1//for shimmer cell and semisecure view
    }else {
        return getNumberOfRows(sectionNumber: section)
    }
}

1 个答案:

答案 0 :(得分:0)

没有任何功能可以限制要粘贴的特定标题要滚动的特定。如果您为节定义了标题,则它将向上滚动,并在下一个节标题出现时被隐藏。

在这种情况下,您必须将第一个标题视图/单元格定义为 Section Header ,并使用 cellForRowAt()方法管理其他标题。因为您希望它们向上滚动而不是停留在顶部。