В Swift активна только одна выпадающая кнопка - PullRequest
0 голосов
/ 07 апреля 2020

В настоящее время я работаю над приложением, в котором мне нужно реализовать больше кнопок выпадающего меню. Я нашел руководство о том, как сделать выпадающую кнопку, и она работает как шарм. Проблема в том, что я хочу, чтобы «раскрывающаяся часть» скрывалась при нажатии другой раскрывающейся кнопки (или где-то еще на экране, если это возможно, но эта часть не нужна).

Вот ссылка на часть проекта с раскрывающимися кнопками.

https://github.com/Rawchris/More-drop-downs

Если вы хотите ввести код здесь Вы можете так сказать, но я думал, что так будет лучше. Если вы не понимаете, чего я хочу, скажите, пожалуйста, и я постараюсь объяснить это лучше.

1 Ответ

1 голос
/ 07 апреля 2020
  • добавить закрытие в dropDownBtn (кстати, это неправильное наименование, проверьте ссылку )
class dropDownBtn: UIButton, dropDownProtocol {
    var didTapDropDown: ((Bool) -> Void)?
.
.
.
  • добавить это закрытие в конец override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) {
override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) {
.
.
.
    didTapDropDown?(isOpen)
}
  • , затем добавьте эти настройки в viewDidLoad
button1.didTapDropDown = { [unowned self] isOpened in
    if isOpened {
        self.button2.dismissDropDown()
    }
}

button2.didTapDropDown = { [unowned self] isOpened in
    if isOpened {
        self.button1.dismissDropDown()
    }
}

//Add Button to the View Controller
self.view.addSubview(button1)
self.view.addSubview(button2)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...