Как сделать редактирование на месте в UITableView?

Есть ли стандартный способ настроить таблицу, чтобы позволить редактировать на месте, отчасти как это:

enter image description here

Мне только нужен доступный для редактирования текст в данный момент, но мне, возможно, понадобились бы UISwitches или UISliders в будущем.

9
задан Isuru 9 August 2014 в 18:23
поделиться

1 ответ

Да. Просто добавьте UITextField, с его font и textColor, установленными на соответствующие значения, в качестве вложенного вида contentView ячейки таблицы. Возможно, вы захотите присвоить полю тег, чтобы можно было легко получить ссылку на него с помощью метода contentView -viewWithTag:.

В коротких формах можно обойтись хранением массива ячеек, по одной для каждого поля, и передачей их в табличное представление без использования механизма -dequeueReusableCellWithIdentifier:, но если вам нужно ввести много данных, то это становится сложнее. В этом случае вы, вероятно, захотите назначить отдельный идентификатор повторного использования для каждого типа ячеек - один для ячеек текстового поля, один для ячеек переключателя, один для ячеек ползунка и т.д. После того, как вы отложили или создали ячейку строки, вы должны взять ее элемент управления из представления содержимого (как указано выше) и установить ее значение из того места, где вы его хранили.

18
ответ дан 4 December 2019 в 11:40
поделиться