复选框没有检查

时间:2015-04-30 15:25:39

标签: ios swift checkbox uibutton

我有一个方法,当单击一个按钮(复选框)时会调用该方法,该方法应该改变按钮的背景图像。我有一个NSLog告诉我该方法被调用但图像永远不会改变。我无法弄清楚原因。

感谢您的帮助!

let checkedImage = UIImage(named: "checkedBox")
let uncheckedImage = UIImage(named: "uncheckedBox")

var isChecked:Bool = false

func checkboxClicked(sender: UIButton!) {
    if sender == self {
        if isChecked == true {
            NSLog("Change background image - checked")
            sender.setBackgroundImage(checkedImage, forState: .Normal)
            isChecked == false
        } else {
            NSLog("Change background image - unchecked")
            sender.setBackgroundImage(uncheckedImage, forState: .Normal)
            isChecked == true
        }
    }
}

1 个答案:

答案 0 :(得分:0)

您可以随时为不同的状态设置不同的图像。

let checkedImage = UIImage(named: "checkedBox")
let uncheckedImage = UIImage(named: "uncheckedBox")

checkbox.setBackgroundImage(checkedImage, forState: .Selected);
checkbox.setBackgroundImage(uncheckedImage, forState: .Normal);

var isChecked:Bool = false

func checkboxClicked(sender: UIButton!) {
    if sender == self {
        sender.selected = isChecked;
        isChecked = !isChecked;
    }
}

通过这种方式,您甚至可以设置图像以突出显示该图像,以便在单击复选框时添加一些闪光。