Я создаю экран настроек для своего приложения, используя таблицу VC. В viewDidLoad
я хочу показать пользователю его текущие настройки, выбрав ячейки. Затем появится флажок слева от выбранных ячеек. Это метод didSelectrowAtIndexPath
:Как выбрать ячейку в виде таблицы без прокрутки?
override func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
let cell = tableView.cellForRowAtIndexPath(indexPath)
for row in 0..<tableView.numberOfRowsInSection(indexPath.section) {
let cellToBeDeselected = tableView.cellForRowAtIndexPath(NSIndexPath(forRow: row, inSection: indexPath.section))
cellToBeDeselected?.accessoryType = .None
}
cell!.accessoryType = .Checkmark
tableView.deselectRowAtIndexPath(indexPath, animated: true)
}
Это хорошо работает. Когда я выбираю строку, появляется галочка. Когда я выбираю другую строку, предыдущая галочка исчезает и появляется новая.
Однако, я хочу, чтобы строки были программными в viewDidLoad
, чтобы показать текущие настройки.
Я нашел метод под названием selectRowAtIndexPath
. Я попытался использовать это, но для этого требуется UITableViewScrollPosition
. В документах указано:
Позиция в виде таблицы (сверху, середине, снизу), к которой прокручивается данная строка.
Кажется, что всякий раз, когда я хочу выбрать строку, в представлении таблицы должно быть указано, где находится выбранная строка. Но я просто хочу его выбрать, и только выберите его.
Как это сделать?
Вы не должны выбрать ячейку для того, чтобы показать выбор, вы можете сделать 'ячейку .accessoryType = .Checkmark' в' cellForRowAtIndexPath: 'при необходимости. –
@FahriAzimov Пока он может показывать галочку, внутреннее состояние таблицы не будет отмечать ячейку как выбранную. Это может повлиять на выделение или отменить выбор с точки зрения пользователя. –
, вы пытаетесь показать только галочку в одной строке, основываясь на последнем значении настройки? –