Сделать кнопку появляется, когда игра выиграна - PullRequest
0 голосов
/ 23 апреля 2020

У меня есть игра с функциями выигрыша и проигрыша. Я хочу, чтобы кнопки отображались в зависимости от того, выиграл пользователь или проиграл. Я связал кнопку через IBAction и вставил следующий код в мою функцию распознавания жестов, которая определяет, выиграл ли кто-то. Но появляется сообщение об ошибке:

«Значение типа» (Любое) -> () не имеет члена «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


        }

1 Ответ

1 голос
/ 23 апреля 2020

winButton () - это функция, связанная с @ IBAction.

Вам также необходимо создать и @IBOutlet для winButton и установить для него ishidden.

Возможно, вам следует удалить текущий создайте ссылку на раскадровку для winButton и создайте новый IBAction с лучшим названием действия, например «tappedWinButton». Затем подключитесь к новому @IBOutlet с именем winButton.

Тогда в вашем коде будут работать настройки winButton.isHidden.

При переименовании вещей в раскадровке нужно быть осторожным, потому что соединения будут запутаться, если вы создадите что-то новое с тем же именем для подключения.

...