自定义 UITableViewCell 不显示标签
Posted
技术标签:
【中文标题】自定义 UITableViewCell 不显示标签【英文标题】:Custom UITableViewCell not showing labels 【发布时间】:2017-11-03 12:14:28 【问题描述】:我在 Xcode 中创建了自定义单元格视图:
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell
let cell = tableView.dequeueReusableCell(withIdentifier: "Cell", for: indexPath) as! FeedCell
let iniStr = self.tableArray[indexPath.row]
let fullNameArr = iniStr.components(separatedBy: "||1||")
let daFirst = fullNameArr[0]
let daSecond = fullNameArr[1]
let finalco = daSecond.components(separatedBy: "||2||")
let fString = finalco[0]
cell.questionLabel?.text = daFirst
cell.answerLabel?.text = daSecond
return cell
class FeedCell: UITableViewCell
@IBOutlet weak var questionLabel: UILabel!
@IBOutlet weak var answerLabel: UILabel!
然后连接故事板中的所有内容,设置约束和注册类:self.tableView.register(FeedCell.self, forCellReuseIdentifier: "Cell")
当我使用 Subtitle 作为自定义表格单元格的类时,一切正常,但是当我在表格单元格中使用自定义 FeedCell 时,标签没有显示,但我可以选择单元格。
【问题讨论】:
您是否为FeedCell
创建了单独的xib 文件?由于您在问题中提到了故事板,我猜测单元格的 UI 直接放置在您的控制器中。在这种情况下,您无需致电self.tableView.register
。
@ØyvindHauge 不,我不是被创造出来的,我什至不知道该怎么做。
检查是否已向 UITableViewDataSource 确认,然后检查 numberOfRowsInSection 是否返回正确的行数
self.tableView.delegate = self / self.tableView.dataSource = self
和 numberOfRowsInSection 返回正确的数字
在 cellforRow 中使用断点来验证索引处 self.tableArray 的值,或者只是尝试使用虚拟值来检查它是否为单元格正确设置了值
【参考方案1】:
试试这段代码来调试连接
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell
let cell = tableView.dequeueReusableCell(withIdentifier: "Cell", for: indexPath) as! FeedCell
let iniStr = self.tableArray[indexPath.row]
print(iniStr)
let fullNameArr = iniStr.components(separatedBy: "||1||")
let daFirst = fullNameArr[0]
let daSecond = fullNameArr[1]
print(daFirst)
print(daSecond)
let finalco = daSecond.components(separatedBy: "||2||")
let fString = finalco[0]
cell.questionLabel?.text = daFirst
cell.answerLabel?.text = daSecond
cell.questionLabel.backgroundColor = .red
cell.answerLabel.backgroundColor = .green
return cell
【讨论】:
什么是register
。
现在我既没有使用 xib 也没有使用寄存器,但标签仍然没有显示
哦。我的错。 !! @MrJo 然后确保您在情节提要中为单元格提供了 cellIdentifier。这也会导致问题。以上是关于自定义 UITableViewCell 不显示标签的主要内容,如果未能解决你的问题,请参考以下文章
实现 willTransitionToState: 时自定义 UITableViewCell 不显示编辑控件
自定义 UITableViewCell 中的 PFImageView 使用 contentMode“AspectFill”显示不正确