我能夠創建自定義複選框按鈕類。但是,當我嘗試將按鈕放在我的視圖中時,我沒有看到圖像。設置背景顏色只需返回該尺寸的正方形。這裏是我的添加盒代碼:如何以編程方式快速添加自定義UIButton
let box:CheckBox = CheckBox()
box.frame = CGRectMake(screenSize.width/2, screenSize.height/2, 200, 200)
self.view.addSubview(box)
I created the class as follows:
class CheckBox: UIButton {
override init(frame: CGRect) {
super.init(frame: frame)
//other stuff
}
required init?(coder aDecoder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
// Images
let checkedImage = UIImage(named: "checked_checkbox")
let uncheckedImage = UIImage(named: "checkbox_unchecked_icon")
// Bool property
var isChecked: Bool = false {
didSet{
if isChecked == true {
self.setImage(checkedImage, forState: .Normal)
} else {
self.setImage(uncheckedImage, forState: .Normal)
}
}
}
override func awakeFromNib() {
self.addTarget(self, action: "buttonClicked:", forControlEvents: UIControlEvents.TouchUpInside)
self.isChecked = false
}
func buttonClicked(sender: UIButton) {
if sender == self {
if isChecked == true {
isChecked = false
} else {
isChecked = true
}
}
}
}
你不是從XIB文件創建你的複選框實例,所以'awakeFromNib'永遠不會被調用。 – Bastek
@Bastek在那裏awakeFromNib內的代碼應該去哪裏? – DMop
請不要在您的問題中「修復」您的代碼。如果您有答案,則需要將其**作爲答案**發佈,並保留完整的問題。 – meagar