我想在我的程序创建的UITableView中使用自定义的TableViewCell类,我不知道为什么这不起作用。我几次使用自定义的TableViewCell类没有任何问题(在故事板中设置Classname),但在这里我没有Storyboard来设置应该用于生成单元格的类。Swift自定义UITableViewCell以编程方式创建UITableView
我这样做:从不出现
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)
}
}
中的println()输出。 TableView得到渲染没有额外的UILabel(消息)。就像开箱即用的UITableViewCell一样。 (没有registerClass())我正在运行一个TableView与故事板中的自定义单元格(在故事板检查器中直接定义的类名),没有任何问题。
你有没有想过为什么自定义类不被使用?
感谢的tableView使用的初始化!有用!不能upvote,对不起;-( – 2015-02-08 11:03:05
@KevinLieser upvoted为你;-( – 2015-04-08 10:37:38