Build a Multi-Selection TableView using in AlertController

Sergei Kononov
Nov 3 · 1 min read

Всем привет! Недавно появилась небольшая задача, нужно было сделать всплывающее диалоговое окно, в котором нужно было выбрать несколько значений и отправить их в другие объекты (tableview внутри uialertcontroller). Сначала, как всегда, пытался найти ответы на stackoverflow, но нужного мне ответа так и не нашел. Только добавление textField’ов и action’ов. Пришлось ковыряться самому. Предлагаю свой вариант решения это задачи + был бы рад предложениям по улучшению этого окна.

Создаем класс MultipleAlertController, наследник UIViewController. Накидываем на него нужный вид и логику. В моем случае мне потребовался UITableViewController и протокол для передачи данных и прочей логики.

Так же для нормальной работы checkmark в наших ячейках реализуем отдельный класс UITableViewCell с одним лейблом(весь UI можете реализовать на свое усмотрение)

Теперь попробуем вызвать наш класс и посмотреть что будет.

Множественный выбор со стандартным UI

Вывод: [“Номер 4”, “Номер3”]

Вопросы и что добавить:

  1. Когда количество ячеек очень большое, то хэдэр начинает тоже скролиться, а не оставаться на месте. Как решить?
  2. Добавление кнопки в шапку нашего диалога.
  3. Удобная инициализация.
Sergei Kononov

Written by

Student at the Novosibirsk State Technical University

Welcome to a place where words matter. On Medium, smart voices and original ideas take center stage - with no ads in sight. Watch
Follow all the topics you care about, and we’ll deliver the best stories for you to your homepage and inbox. Explore
Get unlimited access to the best stories on Medium — and support writers while you’re at it. Just $5/month. Upgrade