gpt4 book ai didi

ios - 带有 IB 的 TableView 的自定义标题

转载 作者:可可西里 更新时间:2023-11-01 01:42:21 25 4
gpt4 key购买 nike

我想使用界面构建器为表格 View 部分创建自定义标题。我不能使用 titleForHeaderInSection 方法,因为我需要显示两个标签。我使用了这个说明:Customizing Header and Footer of TableView in iOS8但它不起作用。

到目前为止我做了什么:

  1. 创建一个继承自 UITableViewCell 的自定义类 CustomTableCell
class CustomTableCell: UITableViewCell {
@IBOutlet weak var dateLabel: UILabel!
@IBOutlet weak var dateDescriptionLabel: UILabel!
}
  1. 在 Storyboard中创建动态原型(prototype)单元
  2. 添加标识符
  3. 将标签连接到自定义 UITableViewCell
  4. 实现viewForHeaderInSection
func tableView(tableView: UITableView, viewForHeaderInSection section: Int) -> UIView? {
let headerCell = tableView.dequeueReusableCellWithIdentifier("CustomTableCell") as CustomTableCell
headerCell.backgroundColor = UIColor.cyanColor()
headerCell.dateLabel.text = "Test date"
headerCell.dateDescriptionLabel.text = "Test date description"

return headerCell
}

当我运行该应用程序时,该部分出现一秒钟,然后移动到表格单元格下方,我收到错误消息:没有重复使用表格单元格的索引路径

这个解决方案有什么问题?我从链接的教程中下载了该项目,它可以在那里运行。

最佳答案

您的问题根源在于 UIKit 如何处理 UITableView。为了确保表格 View 快速且响应 swift ,即使有大量单元格,也会重复使用这些单元格。

通过调用 tableView.dequeueReusableCellWithIdentifier("CustomTableCell"),您要求 tableView 为您提供一个单元格以供重复使用。

很多人一直在使用可重复使用的单元格来设计 Storyboard中的页眉/页脚。自 iOS 7 Beta 5 以来,这可能会导致错误。这个答案很好地解释了这种情况:What is the meaning of the “no index path for table cell being reused” message in iOS 6/7?

要设计您自己的自定义页眉/页脚 View ,我不建议使用 UITableViewCells。相反,您应该直接在代码中创建和设计自定义 UIView。如果您想使用 Interface Builder,您可以创建一个 .xib 或在您的 Storyboard 中创建一个 View ,该 View 不是实际 Controller View 的 subview 。

关于ios - 带有 IB 的 TableView 的自定义标题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28527316/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com