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