我是新手,因此我很难接受可能非常简单的事情。
我想拥有一周中每一天的复选框,并且能够将其状态切换为标准Apple时钟应用警报重复页面。我正在使用从https://github.com/kenthinson/checkbox/借来的子类来创建一组复选框。所有这些都像故事板中的魅力一样,但现在我正在努力学习如何在视图控制器中引用子类复选框“state”来实际执行某些操作。
所以这是子类:
import UIKit
class checkBox: UIButton {
//images
let checkedImage = UIImage(named: "checkBoxChecked")
let unCheckedImage = UIImage(named: "checkBoxUnchecked")
//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
}
}
}
}
这是一个出口示例:
@IBOutlet weak var sun: checkBox!
这是我准备好追加(工作)的空数组:
var daysArray:[String] = []
以下是一个示例操作:
@IBAction func setSunday(sender: checkBox) {
if (****what do I do here to retrieve the button state?****) {
daysArray.append("0")
print(daysArray) // Check the array is working then delete
} else {
daysArray.removeAtIndex(0)
print(daysArray) // Check the array is working then delete
}
}
如果我可以使这个工作,那么我可以申请一周中的所有日子,并使用NSUserDefaults使数组的状态持久。 希望你们能帮忙。
答案 0 :(得分:0)
使用sender.isChecked
检索状态:
@IBAction func setSunday(sender: checkBox) {
if sender.isChecked {
daysArray.append("0")
print(daysArray) // Check the array is working then delete
} else {
daysArray.removeAtIndex(0)
print(daysArray) // Check the array is working then delete
}
}