将按钮图像设置为setSelected

时间:2015-06-03 05:50:27

标签: ios swift

我想在点击时更改按钮的图像。我在应用程序中有一个问题,并且应用程序用户以YES和NO格式给出了答案。因为我已经选中了两个带有复选框空图像的按钮。我想要更改按钮的图像在checkbox_fill中,如果单击它,另一个按钮设置为空复选框image.how检查我的按钮是否已经选中?。我的代码如下。

@IBAction func btnPainClicked(sender: AnyObject) {


    var selected   : UIImage = UIImage(named:"checkbox_fill.png")!
    var deselected : UIImage = UIImage(named: "checkbox.png")!
    if (sender.tag == 1){

        if(!sender.setSelected){

            btnNO.setImage(deselected, forState:.Normal)
            btnYES.setImage(selected, forState:.Normal)

        }else if(!sender.setSelected){

            btnYES.setImage(deselected, forState: .Normal)
            btnNO.setImage(selected, forState: .Normal)
        }

    }    }

我只想选择一个按钮,另一个按钮将带有空的复选框图像。

2 个答案:

答案 0 :(得分:1)

我有一个更简单的解决方案。在viewDidLoad中,添加以下代码:

var selected   : UIImage = UIImage(named:"checkbox_fill.png")!
var deselected : UIImage = UIImage(named: "checkbox.png")!
btnNO.setImage(deselected, forState:.Normal)
btnNO.setImage(selected, forState:.Selected)
btnYES.setImage(deselected, forState:.Normal)
btnYES.setImage(selected, forState:.Selected)

并在您的func中,btnPainClicked

替换代码:

 sender.selected=true
   // sender.selected = YES
    if(sender == btnYES) {
        btnNO.selected = false
    }
    else {
        btnYES.selected = false
    }

尝试这个..它就像你想要的单选按钮一样工作......让我知道:)。

答案 1 :(得分:0)

试试这个

@IBAction func btnPainClicked(sender: AnyObject) {
let buttonClicked = sender as! UIButton
    if buttonClicked == btnYES {
        btnNO.setImage(deselected, forState:.Normal)
        btnYES.setImage(selected, forState:.Normal)
    } else if buttonClicked == btnNo {
        btnYES.setImage(deselected, forState: .Normal)
        btnNO.setImage(selected, forState: .Normal)
    }

我希望它有用!!!!