Swift Xcode 使用复选框子类将操作附加到复选框

标签 swift checkbox

我是 Swift 新手,所以我对一些可能非常简单的事情感到困惑。

我希望一周中的每一天都有复选框,并且能够像标准 Apple 时钟应用程序闹钟重复页面一样切换其状态。我正在使用借自 https://github.com/kenthinson/checkbox/ 的子类创建一组复选框。所有这些都在 Storyboard中发挥作用,但现在我正在努力解决如何在 View Controller 中引用子类复选框“状态”来实际执行某些操作。

所以这是子类:

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
        }
    }
}

}

这是一个 socket 示例:

@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 使数组的状态持久化。 希望大家能够帮忙。

最佳答案

使用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
    }
}

关于Swift Xcode 使用复选框子类将操作附加到复选框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33195368/

相关文章:

ios - FBSDK swift 3 出现 53 个错误

ios - UITableViewCells 重复内容的问题

javascript - 选中复选框时显示/隐藏 div

objective-c - SpriteKit 通过关节对 body 施加两个力

ios - 如何在 iOS 应用程序中获取 YouTube 数据?

javascript - jquery:检测属于某个类的任何元素的变化

javascript - 将复选框输入值放入复选框本身

python - 相同高度的 Tkinter 列表框和复选框

jquery - 添加此 jQuery 后无法取消选中复选框

swift - 类型不可转换为 'NativeObject'