[英]swift - customised button that terminate when pressed
我正在嘗試創建一個自定義的UIButton。 此自定義按鈕顯示未選中的框,當用戶按下按鈕時,該框將變為復選框。 當用戶按下復選框時,它將返回到未選中狀態。
我有一個運行時錯誤。 調試器顯示它因NSException類型的未捕獲異常而終止。
哪里出錯了?
選中框的代碼
import UIKit
class CheckBox: UIButton {
//Images
let checkedImage = UIImage(named: "checked")
let unCheckedImage = UIImage(named: "unchecked")
//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
}
}
}
}
如果要使用所選屬性,則可以執行以下操作:
class CheckBox: UIButton {
//Images
let checkedImage = UIImage(named: "checked")
let unCheckedImage = UIImage(named: "unchecked")
//bool property
override func awakeFromNib() {
self.addTarget(self, action: "buttonClicked", forControlEvents: UIControlEvents.TouchUpInside)
self.setImage (checkedImage, forState: .Selected)
self.setImage(unCheckedImage, forState: .Normal)
}
func buttonClicked(sender:UIButton) {
if(sender == self) {
self.selected = !self.selected
}
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.