Ячейка табличного представления остается невыбранной в режиме редактирования - PullRequest
0 голосов
/ 23 мая 2018

Я хочу, чтобы четные строки таблицы были выбраны при первой загрузке таблицы.Я установил стиль редактирования табличного представления «Многократный выбор во время редактирования» из раскадровки.Я пробовал два способа сделать это, первый подход, как показано ниже

override func viewDidLoad() {
    super.viewDidLoad()
    self.tableView.delegate = self
    self.tableView.dataSource = self
    self.tableView.setEditing(true, animated: true)
}

func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
    let cell = tableView.dequeueReusableCell(withIdentifier: "cell")
    cell?.textLabel?.text = data[indexPath.row]
    if (indexPath.row % 2 == 0){
        cell?.isSelected = true
    }else {
        cell?.isSelected = false
    }
    return cell!
}
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
   return data.count
}

, но он не делает выбранную строку.Таблица выглядит так:

enter image description here

Второй способ, который я попытался, - это вызвать self.tableView.selectRow(at: index path, animated: true, scrollPosition: UITableViewScrollPosition.none) без дополнительной логики в методе cellForRow, используемом в первом подходе.этот подход, кажется, работает.

Может кто-нибудь сказать мне, почему первый подход не работает и выдерживает ли мой второй подход подходящий или нет.Спасибо:)

1 Ответ

0 голосов
/ 23 мая 2018

Проверьте, выполняете ли вы deselectRowAtIndexPath в методе didSelectRowAtIndexPath.

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