我在互联网上搜索了很多解决这个问题的方法,但我无法弄清楚。我正在尝试在表格 View 中创建自定义单元格。
我创建了一个 CustomCell.swift 类来配置自定义单元格中我想要的标签,通过 Storyboard ( TableView 中的第一个原型(prototype)单元格)创建它,并将其与标识符链接到 cellForRowAtIndexPath 方法
override func tableView(tableView: UITableView!, cellForRowAtIndexPath indexPath: NSIndexPath!) -> UITableViewCell! {
let cellIdentifier = "huisCell"
var cell: CustomCell? = tableView.dequeueReusableCellWithIdentifier(cellIdentifier) as? CustomCell
if cell == nil {
cell = CustomCell(style: UITableViewCellStyle.Value1, reuseIdentifier: cellIdentifier)
}
cell!.huisAdresLabel.text = "123"
cell!.huisDetailLabel.text = "456"
return cell
}
我的 CustomCell.swift 代码是这样的:
class CustomCell: UITableViewCell {
@IBOutlet var huisAdresLabel: UILabel
@IBOutlet var huisDetailLabel: UILabel
}
它现在非常基础,但我只是想让它工作,因为我可以用更多属性扩展单元格并更好地设计它。
图片来自 DropBox,因为我需要 10 个声誉才能正确记录我的问题:)
https://www.dropbox.com/sh/5v9jb6cqp80knze/AAD5-yPR8-KoStQddkqKIbcUa
我希望有人能解释我做错了什么。
编辑:
为了澄清一些事情,在我尝试制作自定义单元格之前,我让它与基本单元格一起工作,左侧有一个标签。但是当我尝试设置 tableview 的样式并创建自定义单元格时,它不起作用。
此外,在测试不同的解决方案时,我遇到了 CustomCell.swift 中的两个标签为零的问题。即使当我做了一个自定义的初始化并且做了一个
self.huisAdresLabel = UILabel()
仍然是零。在我向您展示的代码中,它打印了以下内容:
<UILabel: 0xb2aadc0; frame = (0 -21; 42 21); text = '123'; clipsToBounds = YES; opaque = NO; autoresize = RM+BM; userInteractionEnabled = NO; layer = <_UILabelLayer: 0xb2aa3a0>>
最佳答案
我通过覆盖以下函数解决了这个问题,手动设置单元格的高度:
override func tableView(tableView:UITableView!, heightForRowAtIndexPath indexPath:NSIndexPath)->CGFloat
{
return 44
}
关于tableview - Xcode 6 + Swift 中的自定义单元格不显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24230952/