2016-06-14 2 views
0

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

Я использую функцию cell.setSelected(true, animated: false) в функции willDisplayCell. Однако теперь нет возможности отменить выборку ячеек. При повторном включении не вызываются ни функции didSelectRowAtIndexPath, ни didDeselectRowAtIndexPath. Что я могу сделать?

+0

Используйте это «cell.setSelected (false, animated: false)» –

+0

Да, но где я могу это сделать? Ни одна из функций не вызывается при прослушивании ячейки. Какую функцию я могу использовать? –

+0

Когда вы нажмете на ячейку, «callSelectRowAtIndexPath» должен позвонить. Проверьте, установлен ли делегат tableView или нет. –

ответ

0

Попробуйте использовать tableView.selectRowAtIndexPath(indexPath: NSIndexPath?NSIndexPath?, animated: Bool, scrollPosition: UITableViewScrollPosition) для выбора ячеек. Затем вы будете отменять выделение событий.

+0

Что делать, если у меня нет указателей? Я использую свойство ячейки, чтобы определить, что это такое. –

+0

@JohnFda Индексные пути поступают из ваших данных. Если вам не нравится это решение, попробуйте переопределить 'selected' в ячейке таблицы. Например: 'override var selected: Bool { didSet { } } ' – Lumialxk

Смежные вопросы