我正在使用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!
}
Run Code Online (Sandbox Code Playgroud)
我的细胞类看起来像
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)
}
Run Code Online (Sandbox Code Playgroud)
我不使用任何storyBoard或xib文件.找不到解决方案,谢谢
这样做.
属性的所有视图初始化都应该在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)
}
Run Code Online (Sandbox Code Playgroud)
在视图控制器的viewDidLoad方法中添加以下行.
tableView.registerClass(CustomTableViewCell.self, forCellReuseIdentifier: "Cell")
Run Code Online (Sandbox Code Playgroud)
设置这两个代表 - UITableViewDataSource和UITableViewDelegate
| 归档时间: |
|
| 查看次数: |
1316 次 |
| 最近记录: |