每次按下按钮时,如何让UI按钮执行不同的任务?

时间:2014-09-24 09:16:01

标签: ios swift ios8 xcode6

当我为按钮创建IBaction时,我可以轻松地执行某个操作,例如:

@IBAction func click(sender: AnyObject) {

label6.hidden = false}

当点击第二次或第三次等时,如何让它执行完全不同的任务?

由于

编辑:当我尝试这个时,我得到一个错误“Viewcontroller.type没有名为”label1“的成员,这也是”label2“的说法任何想法为什么我已经添加了标签作为插座。我是否需要在其他地方声明它以使其工作?谢谢

导入UIKit

类ViewController:UIViewController {

override func viewDidLoad() {
    super.viewDidLoad()
    label1.text = ""
}

override func didReceiveMemoryWarning() {
    super.didReceiveMemoryWarning()
    // Dispose of any resources that can be recreated.
}

@IBOutlet weak var label1: UILabel!
@IBOutlet weak var label2: UILabel!

class MyButtonClass
{
    var clickCounter: Int = 0

    @IBAction func click(sender: AnyObject)
    {
        clickCounter += 1

        if (clickCounter == 1)
        {label1.text = "text1"}

        else if (clickCounter == 2)
        {label2.text = "text1"
        clickCounter = 0}
    }
}

}

3 个答案:

答案 0 :(得分:1)

使用以下内容替换您的代码:

class ViewController: UIViewController
{
    override func viewDidLoad()
    {
        super.viewDidLoad()
        label1.text = ""
    }

    override func didReceiveMemoryWarning()
    {
        super.didReceiveMemoryWarning()
        // Dispose of any resources that can be recreated.
    }

    @IBOutlet weak var label1: UILabel!
    @IBOutlet weak var label2: UILabel!

    var clickCounter: Int = 0

    @IBAction func click(sender: AnyObject)
    {
        clickCounter += 1

        if (clickCounter == 1)
        {
            label1.text = "text1"
        }

        else if (clickCounter == 2)
        {
            label2.text = "text1"
            clickCounter = 0
        }
    }
}

答案 1 :(得分:0)

您可以拥有一个计数器,并根据其值触发另一个方法,点击

答案 2 :(得分:0)

  • 创建一个计算点按数的属性
  • 每次点击都会增加点按次数
  • 对点按计数实施切换以执行不同的操作(IBAction充当调度员)