检测同时按下两个或多个UIButtons

时间:2016-05-06 19:49:59

标签: ios swift uibutton storyboard uitouch

我在故事板上有三个UIButtons

检测何时最简单的方法是什么:

  • 同时按下UIButtons中的两个?

  • 同时按下了UIButtons中的三个?

1 个答案:

答案 0 :(得分:2)

我认为如果你使用Touch Down Event和Touch Up Event会很容易。

触碰: 按下手指时

补足: 当手指抬起时。

因此,在Touch Down上设置触摸该特定按钮的变量,并在Touch Up事件上检查两个按钮当前是否正在被触摸。像这样:

class ViewController: UIViewController {
    var Button_1_Pressed: Int = 0;
    var Button_2_Pressed: Int = 0;

    @IBAction func Button_1_Down(sender: AnyObject) {
        Button_1_Pressed = 1;
    }

    @IBAction func Button_2_Down(sender: AnyObject) {
        Button_2_Pressed = 1;
    }

    @IBAction func Button_1_Up(sender: AnyObject) {
        if (Button_1_Pressed == 1 && Button_2_Pressed == 1){
            println("1- Both Pressed at same time");
        }
        Button_1_Pressed = 0;
    }

    @IBAction func Button_2_Up(sender: AnyObject) {
        if (Button_1_Pressed == 1 && Button_2_Pressed == 1){
            println("2- Both Pressed at same time");
        }
        Button_2_Pressed = 0;
    }
}

您可以使用XCode界面构建器设置这些@IBAction,方法是按下按钮上的CTRL键,然后选择该事件并拖动到您的swift文件。上面的代码只实现了2个按钮,但它可以让你了解其余的按钮。

如果您使用的是iOS模拟器,则可以使用Option键检测两次触摸。