我创建了一个自定义UITableViewCell并添加了一些插座字段,这些插座字段连接到情节提要上的UI元素。请参阅以下示例。但是我总是在“ required init?(coder aDecoder:NSCoder)”方法的“ self.skillBtn.backgroundColor = UIColor.redColor()”行上得到零指针异常。这意味着skillBtn尚未初始化。我徘徊在应该对UITableViewCell进行UI初始化的地方?
@IBOutlet weak var backgroundImg: UIImageView!
@IBOutlet weak var userNameLabel: UILabel!
var delegate: UserHomeCategorySelectionDelegate?
@IBOutlet weak var skillBtn: UserHomeCategoryButton!
@IBOutlet weak var speakBtn: UserHomeCategoryButton!
@IBOutlet weak var friendsBtn: UserHomeCategoryButton!
override init(style: UITableViewCellStyle, reuseIdentifier: String?) {
super.init(style: style, reuseIdentifier: reuseIdentifier)
self.skillBtn.backgroundColor = UIColor.redColor()
}
required init?(coder aDecoder: NSCoder) {
super.init(coder: aDecoder)
self.skillBtn.backgroundColor = UIColor.redColor()
}
最佳答案
那是因为视图尚未从Storyboard / XIB连接到类实例,
要实现所需的功能,请覆盖awakeFromNib方法并将self.skillBtn.backgroundColor = UIColor.redColor()
放在其中。
从XIB / Storyboard加载视图并连接插座后,将调用awakeFromNib。
关于ios - 如何初始化与UI相关的自定义UITableViewCell属性,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/35844476/