Как сделать редактирование на месте в UITableView?
Есть ли стандартный способ настроить таблицу, чтобы разрешить редактирование на месте, вроде этого:
Сейчас мне нужен только редактируемый текст, но в будущем мне могут понадобиться переключатели UIS или UISliders.
2 ответа
Ага. Просто добавьте UITextField
, с этими font
а также textColor
установить соответствующие значения, как подпредставления ячейки таблицы contentView
, Вы, вероятно, хотите дать поле tag
а также, чтобы вы могли легко получить ссылку на него с помощью contentView
"s -viewWithTag:
метод.
С помощью коротких форм вы можете оставить массив ячеек, по одной для каждого поля, и передать их в табличное представление, не проходя через -dequeueReusableCellWithIdentifier:
механизм, но если у вас есть много вещей, чтобы войти, то это становится сложнее. В этом случае вы, вероятно, захотите назначить разные идентификаторы повторного использования для каждого типа ячеек - один для ячеек текстового поля, один для переключаемых ячеек, один для ячеек ползунка и т. Д. После того как вы удалили из очереди или создали ячейку строки, вы Затем захватите его элемент управления из представления содержимого (как указано выше) и установите его значение из того места, где вы его сохранили.
Отредактируйте на месте с помощью "Content: Static Cells" и сделайте его похожим на UITableviewCell в стиле по умолчанию.
- В UITableView создайте две ячейки: одну Custom и одну Subtitle Styled.
- Скопируйте метку "title", соответствующую UITableViewCell в стиле субтитров, в пользовательский UITableViewCell.
- В пользовательском UITableViewCell удалите UITextField. Скопируйте в это параметры стиля из UILabel Detail из Subititle Styled UITableViewCell в этом UITextField.
- Сделайте необходимые приготовления.
Выглядит довольно ровно, не так ли?
Теперь делайте вещи из IBoutlet.