switch 语句中的 IBAction - Xcode

IBAction inside of switch statement - Xcode

我在 switch 语句中有 30 多个按钮和 30 个图像,同时显示 4 个按钮。我想根据按下的按钮执行 IBAction。它不允许我将它拖放到 switch 语句中的 case 中。按钮会根据显示的图像而变化。对于每张图片,有 3 个错误按钮和 1 个正确按钮。如何检查按下了哪个按钮,并添加结果操作?

你完全错了。您应该使用 switch 语句来控制 UI 的外观。就像通过简单地使用 hide 属性 来控制要显示的 4 个按钮。

每个按钮都应在 class 级别定义一个 IBAction。因此,将连接从 XIB/Storyboard 拖放到 class 而不是在 switch 语句中。根据当前显示的按钮,将触发操作。

编辑: Post OP 说明:

由于您尝试根据某些条件在同一个按钮上设置不同的图像,并希望根据您在其上设置的图像类型来处理 IBAction,因此您需要设置 tag 在您要设置图像的 switch 语句中的按钮上。 tag 采用整数值,因此您可以创建 enum 以提高可读性。然后当点击按钮并触发你的 IBAction 时,放置另一个 switch 语句来检查 tag 的值,然后采取相应的行动。