Kev*_*ser 2 uitableview ios swift
我正在尝试在我以编程方式创建的UITableView中使用自定义TableViewCell类,我无法弄清楚为什么这不起作用.我已经使用了几次自定义TableViewCell类而没有任何问题(在Storyboard中设置Classname)但是在这里我没有设置应该用于生成单元格的类的故事板.
我这样做:
override func viewDidLoad() {
...
self.popupTableView.registerClass(CustomTableViewCellPopup.self, forCellReuseIdentifier: "popupTableViewCell")
...
}
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
var cell = tableView.dequeueReusableCellWithIdentifier("popupTableViewCell") as CustomTableViewCellPopup
...
return cell
}
class CustomTableViewCellPopup: UITableViewCell {
var message: UILabel = UILabel()
override init(style: UITableViewCellStyle, reuseIdentifier: String?) {
super.init(style: style, reuseIdentifier: reuseIdentifier)
}
required init(coder decoder: NSCoder) {
super.init(coder: decoder)
}
override func awakeFromNib() {
super.awakeFromNib()
println("I'm running!")
self.message.frame = CGRectMake(0, 0, 10, 10);
self.message.backgroundColor = UIColor.brownColor()
self.addSubview(self.message)
}
}
Run Code Online (Sandbox Code Playgroud)
println()输出永远不会出现.无需额外的UILabel(消息)即可呈现TableView.就像一个开箱即用的UITableViewCell.
同样的方式(没有registerClass())我正在运行带有Storyboard中自定义单元格的TableView(直接在Storyboard Inspector中定义的Classname),没有任何问题.
你知道为什么自定义类不被使用?
Cih*_*Tek 31
awakeFromNib
除非从xib或故事板加载单元格,否则不会被调用.将自定义代码awakeFromNib
移入,initWithStyle:reuseIdentifier:
因为这是调用其dequeueReusableCellWithIdentifier:
方法时tableView使用的初始化程序
归档时间: |
|
查看次数: |
9159 次 |
最近记录: |