使用IBAction按钮在多次按下时循环两组不同的指令

时间:2014-11-14 02:25:26

标签: swift ibaction

我是编码的新手,并且一直试图通过快速的强化课程。现在我正在开发一个项目,我希望有一个IBAction按钮完成"设置1"首次按下的说明,然后"设置2"第二次按下的说明。然后,按3将恢复为"设置1"说明,按4"设置2"等等。

请原谅我,如果这是基本的,但任何帮助将不胜感激。

//使用IBAction设置1条指令

@IBAction func punchInButtonPressed(sender: AnyObject) {

    statusLabel.text = "Status: Punched In"
    statusLabel.backgroundColor = UIColor(red: 96/255.0, green: 191/255.0, blue: 111/255.0, alpha: 1.0)

//设置2条指令

statusLabel.text = "Status: Punched Out"
statusLabel.backgroundColor = UIColor(red: 255/255.0, green: 110/255.0, blue: 115/255.0, alpha: 1.0)

1 个答案:

答案 0 :(得分:1)

你可以通过在你的类中添加一个变量来处理这个问题,该变量将保持"状态"按钮 - 打孔或打孔。然后,当按下按钮时,您切换状态,然后显示正确的消息:

class MyViewController: UIViewController {
    var punchedIn = false
    // rest of declarations

    @IBAction func punchInButtonPressed(sender: AnyObject) {
        // toggle status
        punchedIn = !punchedIn

        // show correct message
        if punchedIn {
            // set 1
            statusLabel.text = "Status: Punched In"
            statusLabel.backgroundColor = UIColor(red: 96/255.0, green: 191/255.0, blue: 111/255.0, alpha: 1.0)
        } else {
            // set 2
            statusLabel.text = "Status: Punched Out"
            statusLabel.backgroundColor = UIColor(red: 255/255.0, green: 110/255.0, blue: 115/255.0, alpha: 1.0)
        }
    }
}