Изменить свойство другой функции - PullRequest
0 голосов
/ 27 октября 2019

Я хочу изменить свойство внутри функции buttonTapped с помощью функции newGameButton. Например: я хочу изменить цвет фона, но не изменить кнопку newGame, я хочу изменить цвет фона кнопок, связанных с кнопкой buttonTapped. Извините за мой английский

    @IBOutlet var buttons: [UIButton]!


    @IBAction func buttonTapped(_ sender: UIButton) {
        sender.backgroundColor = UIColor.getrandomColor()
        sender.tintColor = UIColor.white
        sender.isEnabled = false




@IBAction func newGameButton(_ sender: Any) {

}

Ответы [ 2 ]

0 голосов
/ 27 октября 2019

Предполагая, что newGameButton не является частью массива buttons, вы можете сделать

@IBAction func buttonTapped(_ sender: UIButton) {
    if (buttons.contains(sender) {
        sender.backgroundColor = UIColor.getrandomColor()
        sender.tintColor = UIColor.white
        sender.isEnabled = false 
    }
}

И при запуске новой игры

@IBAction func newGameButton(_ sender: Any) {
    //reset all buttons
    buttons.forEach { button in
        button.backgroundColor = //set default background color
        button.tintColor = //set default tint color
        button.isEnabled = true
        // any other settings
    }
}
0 голосов
/ 27 октября 2019

Если вы хотите изменить свойства "buttonTapped" с помощью "newGameButton", вам просто нужно создать выход для "buttonTapped". Вы можете получить доступ к свойствам "ButtonTapped" с помощью этого выхода.

  @IBOutlet var buttons: [UIButton]!

    @IBAction func buttonTapped(_ sender: UIButton) {
    }

    @IBAction func newGame(_ sender: Any) {

         buttons[0].backgroundColor = .red
    buttons[0].tintColor = .black
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...