在游戏获胜时显示一个按钮

Make a button appear when a game is won

我有一款游戏有输赢功能。我想让按钮显示取决于用户是赢了还是输了。我已经通过 IBAction 链接了按钮,并将以下代码放入我的手势识别器函数中,该函数确定是否有人赢了。但是它出现了一个错误,说

"Value of type '(Any) -> ()' has no member 'isHidden'"

请问如何从另一个函数中引用按钮的隐藏状态?谢谢。

获胜按钮定义为

@IBAction func winButton(_ sender: Any) {
        performSegue(withIdentifier: "segue1", sender: self)
    }

我尝试将其包含在其中的函数如下 -

 @IBAction func onTapping(_ sender: UITapGestureRecognizer) {

        let systemRed = UIView()
        systemRed.backgroundColor = .systemRed
        if sender.view?.backgroundColor == systemRed.backgroundColor {
           setAllSquares(to: .systemGreen)
            timer.invalidate()
            winButton.isHidden = false


        }

winButton() 是一个与@IBAction 连接的函数。

您还需要为 winButton 创建 @IBOutlet 并将其设置为隐藏。

您可能应该删除 winButton 故事板中的当前 link,并创建一个新的 IBAction,它具有更好的动作名称,例如 "tappedWinButton"。然后连接到一个名为 winButton 的新@IBOutlet。

然后在您的代码中,设置 winButton.isHidden 将起作用。

重命名情节提要中的内容时需要小心,因为如果您创建具有相同名称的新内容进行连接,连接将会混乱。