构造函数不能在swift中工作
问题描述:
我想用简单的标题创建自定义复选框。复选框有构造函数,但是当我调用它时,标题不会出现。我应该如何正确调用构造函数?构造函数不能在swift中工作
自定义复选框:https://github.com/Marxon13/M13Checkbox
import UIKit
class TodoTableViewCell: UITableViewCell {
override func awakeFromNib() {
super.awakeFromNib()
// Initialization code
//checkbox.titleLabel.text = "asd"
self.checkbox = M13Checkbox(title: "zcxc")
}
@IBOutlet weak var checkbox: M13Checkbox!
override func setSelected(selected: Bool, animated: Bool) {
super.setSelected(selected, animated: animated)
// Configure the view for the selected state
}
}
答
我相信问题是,你让你的实际复选框设置与initWithCoder:
方法通过Interface Builder中添加的M13Checkbox。
我认为这样做最简单的方法是清除复选框,在Interface Builder并将其添加到细胞编程:我不使用M13Checkbox自己
override func awakeFromNib() {
super.awakeFromNib()
// Initialization code
//checkbox.titleLabel.text = "asd"
let checkbox:M13Checkbox = M13Checkbox(title: "zcxc")
checkbox.frame = self.frame
self.addSubview(checkbox)
}
答
,但不能预期使用模式。当你从xib载入你的UI时,复选框应该已经被实例化。你在这里做的是你替换它。
相反,在界面构建器中为元素设置正确的类,并根据需要仅配置其属性。另外,请记住,您的代码根本不会将任何复选框添加到视图层次结构中,也不会获得任何布局约束。
所以你可以看到复选框,但只有标题丢失? – streem
是的,只有标题不出现 –
您是否尝试过设置复选框的框架或大小? – Arvind