如何在motionEnded中运行按钮操作?

时间:2017-09-17 07:22:08

标签: ibaction swift4 shake

在Swift 4中的一个非常基本的抖动骰子应用程序中,我有两个功能。第一个运行随机骰子功能。然而第二个需要发送者参数,因为它实际上是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 )
    }
}

1 个答案:

答案 0 :(得分:0)

IBAction 不必sender参数,您可以将其删除。

@IBAction func rollButtonPressed()

请注意,修改此功能后,您应该重新连接 Interface Builder 中的操作以防止崩溃。