Ios 自定义静态tableview标题-Swift

Ios 自定义静态tableview标题-Swift,ios,uitableview,header,Ios,Uitableview,Header,我正在尝试使用UITableViewCell自定义静态UITableViewController节标题 通过使用下面的代码集,我可以成功地在DynamicTableView中自定义节标题 override func tableView(_ tableView: UITableView, viewForHeaderInSection section: Int) -> UIView? { let headerCell = tableView.dequeueReusableCel

我正在尝试使用UITableViewCell自定义静态UITableViewController节标题

通过使用下面的代码集,我可以成功地在DynamicTableView中自定义节标题

override func tableView(_ tableView: UITableView, viewForHeaderInSection section: Int) -> UIView? {
        let headerCell = tableView.dequeueReusableCell(withIdentifier: "HeaderCell")
        headerCell?.textLabel?.text = "Section \(section + 1)"
        headerCell?.textLabel?.textColor = UIColor.blue
        return headerCell
    }

    override func tableView(_ tableView: UITableView, heightForHeaderInSection section: Int) -> CGFloat {
        return 50
    }
但是,无法用于静态tableview。
如何使用静态tableView自定义节头问题是在
viewForHeaderInSection
方法中应该返回
UIView
,而不是
UITableViewCell

您还应该保留一个header单元格实例以备将来使用(例如修改其视图)

TableViewController
中创建如下字段:

private var headerViewCell: UITableViewCell?
然后在
viewforheaderin部分中执行以下操作:

override func tableView(_ tableView: UITableView, viewForHeaderInSection section: Int) -> UIView? {
    let headerCell = tableView.dequeueReusableCell(withIdentifier: "HeaderCell")
    headerCell?.textLabel?.text = "Section \(section + 1)"
    headerCell?.textLabel?.textColor = UIColor.blue
    self.headerViewCell = headerCell
    return headerCell?.contentView
}

我认为在使用
dequeueReusableCell
时应该打开单元格

override func tableView(_ tableView: UITableView, viewForHeaderInSection section: Int) -> UIView? {
        let headerCell = tableView.dequeueReusableCell(withIdentifier: "HeaderCell") as! HeaderCell   //  here header cell is your cell's custom class
        headerCell.textLabel.text = "Section \(section + 1)"
        headerCell.textLabel.textColor = UIColor.blue
        return headerCell
    }

    override func tableView(_ tableView: UITableView, heightForHeaderInSection section: Int) -> CGFloat {
        return 50
    }

您能澄清一下静态tableView是什么意思吗?@Gkolunia:tableView静态单元格和动态单元格有两种类型。我正在使用UITableView的静态单元格我可以为自定义节标题使用“UITableViewCell”。但它在静态TableView中不起作用。它返回一个可选视图,TableView单元格也是uiview的一个子类,并以隐式方式向上转换,因此您可以在此处返回uitableview单元格。我假设您将编辑标题单元格视图,如文本颜色、文本标签或其他内容。在这种情况下,一切都会发生!例如标题消失等。我遇到了此类问题,所有这些问题都是因为我返回了
UITableViewCell
本身!因此,请做一些研究,而不是否决投票。此外,使用Google TranslateI返回可选视图和tablview单元格也是uiview的一个子类,并以隐式方式向上转换,因此您可以在此处返回uitableview单元格无需取消包装Well i自定义标题视图您需要返回自定义单元格或自定义视图