Xcode swift-自定义按钮,按下时终止
我正在尝试创建一个定制的UIButton。此自定义按钮显示未选中的框,当用户按下按钮时,该框将变为选中框。当用户按下复选框时,它将返回到未选中状态 我有一个运行时错误。调试器显示它由于NSException类型的未捕获异常而终止 哪里出了问题 复选框的代码Xcode swift-自定义按钮,按下时终止,xcode,swift,uibutton,Xcode,Swift,Uibutton,我正在尝试创建一个定制的UIButton。此自定义按钮显示未选中的框,当用户按下按钮时,该框将变为选中框。当用户按下复选框时,它将返回到未选中状态 我有一个运行时错误。调试器显示它由于NSException类型的未捕获异常而终止 哪里出了问题 复选框的代码 import UIKit class CheckBox: UIButton { //Images let checkedImage = UIImage(named: "checked") let unChecked
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
}
}
}
你为什么要这么做?您可以使用按钮的selected属性(也是布尔值)为selected state设置一个图像,然后单击just change selected state我该怎么做?你有任何参考资料给我吗?检查下面的答案你的编译器没有对着
var大喊大叫吗?检查:Bool=false{
?如果让?模拟器崩溃,你是否尝试执行?错误:“以NSException类型的未捕获异常终止”