如何在 motionEnded 中 运行 一个按钮动作?
How to run a button action in motionEnded?
在Swift4中的一个非常基本的摇骰子应用程序中,我有两个功能。第一个运行随机骰子函数。然而,第二个需要一个 sender 参数,因为它实际上是一个 IBAction
,所以它需要知道按下了哪个按钮。
如何在摇动过程中向 motionEnded
添加虚假按钮点击?
// MARK: -- Outlets and Actions
@IBOutlet weak var diceImageView1: UIImageView!
@IBOutlet weak var diceImageView2: UIImageView!
@IBAction func rollButtonPressed(_ sender: UIButton) {
updateDiceImages()
updateRollButton(sender)
}
...
override func motionEnded(_ motion: UIEventSubtype, with event: UIEvent?) {
updateDiceImages()
// how to send sender from motionEnded?
rollButtonPressed( magic sender needed )
// or another function that also needs the UIButton sender
updateRollButton( same magic sender needed )
}
}
IBAction
s 不必有一个sender
参数,你可以删除它。
@IBAction func rollButtonPressed()
请注意,修改函数后,您应该在 Interface Builder 中重新连接操作,以防止崩溃。
在Swift4中的一个非常基本的摇骰子应用程序中,我有两个功能。第一个运行随机骰子函数。然而,第二个需要一个 sender 参数,因为它实际上是一个 IBAction
,所以它需要知道按下了哪个按钮。
如何在摇动过程中向 motionEnded
添加虚假按钮点击?
// MARK: -- Outlets and Actions
@IBOutlet weak var diceImageView1: UIImageView!
@IBOutlet weak var diceImageView2: UIImageView!
@IBAction func rollButtonPressed(_ sender: UIButton) {
updateDiceImages()
updateRollButton(sender)
}
...
override func motionEnded(_ motion: UIEventSubtype, with event: UIEvent?) {
updateDiceImages()
// how to send sender from motionEnded?
rollButtonPressed( magic sender needed )
// or another function that also needs the UIButton sender
updateRollButton( same magic sender needed )
}
}
IBAction
s 不必有一个sender
参数,你可以删除它。
@IBAction func rollButtonPressed()
请注意,修改函数后,您应该在 Interface Builder 中重新连接操作,以防止崩溃。