UITableview с выбором 2 разделов - PullRequest
0 голосов
/ 04 марта 2020

В моем UITableview есть 2 раздела, в каждом разделе есть количество строк, я хочу разрешить множественный выбор в табличном представлении, но в каждом разделе должна быть только 1 строка.

Другими словами «Я хочу разрешить 2 выделения во всем табличном представлении & 1 выбор в каждом разделе "

. Любой, кто может помочь, будет благодарен. Заранее спасибо

1 Ответ

0 голосов
/ 04 марта 2020

Вы можете добиться того же с пользовательской реализацией, как показано ниже

Определить массив из 2 элементов для хранения уникального выбора для каждой секции

var selection = [-1, -1]

Пользовательский методы для обработки выбора пользователя

func setSelection(for index: IndexPath) {
    if selection[index.section] != -1 {
      //clear the old selection
      let cell = getCell(for: IndexPath(row: selection[index.section], section: index.section))
      cell.backgroundColor = .white
    }
    //add new selectoin
    let currCell = getCell(for: index)
    currCell.backgroundColor = .orange

    //save new selection state
    selection[index.section] = index.row
  }

func getCell(for index: IndexPath) -> UITableViewCell {
    let cell = custTableView.cellForRow(at: index)
    return cell!
  }

setSelection необходимо вызвать из didSelectRowAt как

func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
    setSelection(for: indexPath)
  }

Вы также можете использовать массив selection в любое время, чтобы узнать выбранные индексы ячеек

Вывод:

enter image description here

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