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

Detect two or more UIButtons being pressed at the same time

我在故事板上有三个 UIButtons

什么是最直接的检测时间的方法:

我想如果你使用 Touch Down 事件和 Touch Up 事件会很容易。

着陆: 当手指按下时

润色: 当手指抬起时。

因此,在 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 键检测两次触摸。