Как отнести @IBAction Func к нескольким кнопочным розеткам - PullRequest
0 голосов
/ 28 декабря 2018

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

Вот часть кода:

   @IBAction func b0(_ sender: UIButton) {
        if  pressedArray[0] && buttonsCanBePressed {
            pressedArray[0] = false
            b0.backgroundColor = notPressedColour
        } else if buttonsCanBePressed {
            b0.backgroundColor = pressedColour
            pressedArray[0] = true
        }
    }



    @IBAction func b1(_ sender: UIButton) {
        if  pressedArray[1] && buttonsCanBePressed {
            pressedArray[1] = false
            b1.backgroundColor = notPressedColour
        } else if buttonsCanBePressed {
            b1.backgroundColor = pressedColour
            pressedArray[1] = true
        }
    }

    @IBAction func b2(_ sender: UIButton) {
        if  pressedArray[2] && buttonsCanBePressed {
            pressedArray[2] = false
            b2.backgroundColor = notPressedColour
        } else if buttonsCanBePressed {
            b2.backgroundColor = pressedColour
            pressedArray[2] = true
        }
    }

1 Ответ

0 голосов
/ 28 декабря 2018

Да, вы можете сделать только одну функцию IBAction, а затем перетащить кружок в номере строки на все нужные вам кнопки, и вы можете различать кнопки, используя sender.tag

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...