我希望这样,当有人单击按钮时,它会触发功能X,但之后又会触发功能Y。这应该是前后的。 第一次他们单击按钮A时,触发函数X,第二次,触发函数Y,第三次触发X。我们如何使用swift在代码中而不是在故事板上触发动作?
答案 0 :(得分:2)
像平常一样将按钮连接到一个动作上
@IBAction func buttonHandler(_ sender: UIButton) {
}
然后添加两个您希望在其中进行交替的功能:
func handlerX() {
// Do the first set of operations
}
func handlerY() {
// Do the second set of operations
}
然后将一个属性添加到您的视图控制器中,以跟踪要调用的属性:
var handlerState = true
现在您可以按以下方式更新操作:
@IBAction func buttonHandler(_ sender: UIButton) {
if handlerState {
handlerX()
} else {
handlerY()
}
handlerState = !handlerState
}