首页 > 解决方案 > 表格视图的自定义 headerView

问题描述

我正在尝试为我的 tableview 制作一个自定义 headerView。我遵循了许多指南,但无法解决一个问题。

  1. 我曾经继承 UITableViewHeaderFooterView 并创建了 xib 文件。

在此处输入图像描述

将视图(作为容器视图)添加到 xib 文件中。第一个问题 - 当我试图将类更改为 CustomHeaderViewClass Xcode 不会自动完成它。我不知道为什么 Xcode 看不到这个类。

然后,在 ViewController 中我注册了 headerview:

let nib = UINib(nibName: "CustomHeaderView", bundle: nil)
tableView.register(nib, forHeaderFooterViewReuseIdentifier: "HeaderIdentifier")

和调用方法:

func tableView(_ tableView: UITableView, viewForHeaderInSection section: Int) -> UIView? {
    let cell = tableView.dequeueReusableHeaderFooterView(withIdentifier: "HeaderIdentifier") as! CustomHeaderViewClass
    cell.textLabel?.text = "Section: \(section)"
    return cell
}

然后我的应用程序总是由于未捕获的异常“NSUnknownKeyException”而崩溃并终止应用程序,原因:“[<NSObject 0x600001314c10> setValue:forUndefinedKey:]: 这个类不符合键 centerLabel 的键值编码。”

centerLabel 是 xib 文件中标签的名称。

标签: swiftuitableview

解决方案


推荐阅读