我在屏幕上有按钮,每个按钮都有不同的数字和标签(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")
}