我是Swift的新手,很困惑如何以編程方式將自定義類添加到按鈕。我創建了一個自定義類,並可以使用故事板添加它。它工作正常,但如何以編程方式完成?以編程方式將類添加到Swift中的UIbutton
我可以使用CheckBox類到位的UIButton或我仍然需要使用的UIButton並添加類?
的Class
class CheckBox: UIButton {
//images
let checkedImage = UIImage(named: "checked_checkbox") //as UIImage!
let uncheckedImage = UIImage(named: "unchecked_checkbox") //as UIImage!
//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 {
println("setting to false")
isChecked = false
}else{
println("setting to true")
isChecked = true
}
}
}
}
添加類視圖控制器
override func viewDidLoad() {
super.viewDidLoad()
let checkBox = CheckBox()
checkBox.backgroundColor = UIColor.blueColor()
self.view.addSubview(checkBox)
checkBox.setTranslatesAutoresizingMaskIntoConstraints(false)
self.view.addConstraint(NSLayoutConstraint(item: checkBox, attribute: .Left, relatedBy: .Equal, toItem: self.view, attribute: .Left, multiplier: 1.0, constant: 50))
self.view.addConstraint(NSLayoutConstraint(item: checkBox, attribute: .Top, relatedBy: .Equal, toItem: self.view, attribute: .Top, multiplier: 1.0, constant: 50))
}
您可以在您的代碼中使用您的Checkbox類代替UIButton –
@TienDinh謝謝!我的問題必須是我的課程,或者我將Checkbox類添加到視圖控制器的方式。我更新了問題以包含viewDidLoad和class。我錯過了關於如何添加UIButton以編程方式與故事板的區別? – Oakland510
「我的問題必須是我的課程,或者是我將Checkbox類添加到視圖控制器的方式」但是@Oracleland510,你沒有解釋你的問題_is_!複選框沒有出現在界面中?發生或未能發生的事情是有問題的? – matt