Для обеспечения выбора нескольких элементов я добавил пользовательский UITabelViewController
с ключом "componentViewController"
к соответствующему UIAlertController
.
UITabelViewController
, упомянутому выше, используйте внутренний массив indexPaths, чтобы проверить, какие ячейки выбраны:
override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
...
cell.accessoryType = self.selectedIndexPath.contains(indexPath) ? .checkmark : .none
...
}
UITableViewDelegate
методы :didSelectRowAt
и :didDeselectRowAt
делают то, что должны - добавлять или удалять необходимые indexPath
из массива и :reloadRows
в соответствующие indexPath
.
Как вы видите, все идеально после первого выбора:
Нормальный
, но после второго мы можем увидеть эту ошибку
Not_normal
.checkmark
в каждой ячейке показывают странное поведение.
Также то же самое мы можем видеть, даже если я просто изменю titleLabel
цвет в каждой ячейке.
Не знаю, как это исправить, с нетерпением жду возможности не использовать пользовательский класс UITableViewCell
или кузнеца.
Заранее спасибо.
ps Если я представляю, что UITableViewController
не вставлять вUIALertController
- все хорошо.