按特定顺序按下的按钮 SWIFT



我在屏幕上有按钮,每个按钮都有不同的数字和标签(1-12(。如果用户按顺序按下按钮,我想这样做,例如:9,2 和 3 按该顺序执行操作并执行 Segue,但如果它们有任何其他组合,它会执行不同的操作

创建一个属性var presses = [Int]()。 为您的按钮提供独特的tag。 将所有按钮连接到单个@IBAction func buttonPressed(_:)功能。 按下按钮时,将其tag append presses 。 如果presses.count == 3,请将presses数组与表示所需订单的数组进行比较。

var presses = [Int]()
@IBAction func buttonPressed(_ sender: UIButton) {
    presses.append(sender.tag)
    if presses.count == 3 {
        switch presses {
        case [9, 2, 3]:
            // play a sound
            // perform segue to next viewController
        default:
            // play "wrong" sound
        }
        // reset presses for the next 3 presses
        presses = []
    }
}

尝试制作一个数组,当用户点击按钮时,在其上附加按钮名称或按钮标签。 当用户按第 3 个按钮时,检查数组是否按特定顺序。如果匹配,则执行某些操作,否则执行另一个操作。阵列比较看起来像这样

 if arrMatch == [1,2,3] {
      print("do some action")
    } else {
      print("do another action")
    }

最新更新