我正在使用TableViewCell的自定义cocoa类扩展,它不会给出任何错误消息,但单元格不会出现在tableview中。滚动变长但表格单元格不可见。
我在我的ViewController中输入了这个:
tableView.registerClass(CustomTableViewCell.self, forCellReuseIdentifier: "Cell")
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath)->UITableViewCell
{
var cell:CustomTableViewCell? = tableView.dequeueReusableCellWithIdentifier("Cell", forIndexPath: indexPath) as? CustomTableViewCell
if cell == nil {
cell = CustomTableViewCell(style: UITableViewCellStyle.Default, reuseIdentifier: "Cell")
}
cell!.labTime.text = filtered[indexPath.row].name!
return cell!
}
我的细胞类看起来像
var labTime = UILabel()
override func awakeFromNib() {
// Initialization code
super.awakeFromNib()
labTime = UILabel(frame: contentView.bounds)
labTime.font = UIFont(name:"HelveticaNeue-Bold", size: 16)
contentView.addSubview(labTime)
}
我不使用任何storyBoard或xib文件。 找不到解决方案, 感谢
答案 0 :(得分:7)
这样做。
属性的所有视图初始化都应该在init方法中。 将其添加到自定义单元格类
中var labTime: UILabel!
required init(coder aDecoder: NSCoder) {
super.init(coder: aDecoder)
}
override init(style: UITableViewCellStyle, reuseIdentifier: String!) {
super.init(style: style, reuseIdentifier: reuseIdentifier)
//Do your cell set up
labTime = UILabel(frame: contentView.bounds)
labTime.font = UIFont(name:"HelveticaNeue-Bold", size: 16)
contentView.addSubview(labTime)
}
在视图控制器的viewDidLoad方法中添加以下行。
tableView.registerClass(CustomTableViewCell.self, forCellReuseIdentifier: "Cell")
设置这两个代理 - UITableViewDataSource
和UITableViewDelegate