Как передать UIView на UIButton в качестве параметра события нажатия - PullRequest
0 голосов
/ 19 марта 2020

Я сгенерировал несколько UIButton и UIView, используя l oop, проблема в том, что я хочу, чтобы сгенерированный UIView был скрыт при нажатии на сгенерированную UIButton,

Вопрос в том, как я могу передать UIView для события щелчка UIButton, чтобы система знала, что UIView будет скрыто

Это мой код, который генерирует UIButtons и UIViews

for (key, value) in myStringsArray {
     let myButton = UIButton()
     let myView = UIView()

     panelButton.tag = value
     panelButton.addTarget(self, action: #selector(onMyButtonClick), for: .touchUpInside)
}

Единственные данные, которые я могу передать .tag было Int

И это моя функция onMyButtonClick, которая прослушивает событие нажатия UIButton

@objc func onMyButtonClick (sender: UIButton) {
     print(sender.tag)
}

Я хочу иметь функцию прослушивания щелчка, которая работая так

func clickMe (view: UIView, isOpen: Bool) {
     view.isHidden = isOpen
}

1 Ответ

2 голосов
/ 19 марта 2020

Вы можете назначить кнопке и просмотреть один и тот же тег.

тогда вы можете найти вид по тегу и скрыть его.

@objc func onMyButtonClick (sender: UIButton) {
     print(sender.tag)
     if let foundView = view.viewWithTag(sender.tag) {
        foundView.isHidden = true
    }
}
...