如何在 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 )
    }
}

IBActions 不必有一个sender参数,你可以删除它。

@IBAction func rollButtonPressed()

请注意,修改函数后,您应该在 Interface Builder 中重新连接操作,以防止崩溃。