swift - 表格视图的自定义 headerView
问题描述
我正在尝试为我的 tableview 制作一个自定义 headerView。我遵循了许多指南,但无法解决一个问题。
- 我曾经继承 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 文件中标签的名称。
解决方案
推荐阅读
- java - 扩展 CrudRepository,从一列中选择所有?
- python-3.6 - 在 rhel7 上安装 python36-devel 失败
- reactjs - 为什么我需要使用对象解构来使用 React Hooks 正确更改受控输入的值?
- python - 转置 CSV 的 IP 数据(将单行拆分为多个客户编号 - IP 对)
- javascript - 在模态中加载 Reactjs 中的内容
- macos - Go: 编译单元测试时生成错误(我正在尝试模拟 influxdb 类型)
- selenium - Selenium 中的 Javascript 无法启动网页
- php - laravel 中的 With() 方法是什么?
- c# - C# Socket.SendTo() 路由到错误的适配器
- php - 从 PHP 中的文件指针读取时如何跳过多行