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

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

Сейчас мне нужен только редактируемый текст, но в будущем мне могут понадобиться переключатели UIS или UISliders.

2 ответа

Решение

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

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

Отредактируйте на месте с помощью "Content: Static Cells" и сделайте его похожим на UITableviewCell в стиле по умолчанию.

  1. В UITableView создайте две ячейки: одну Custom и одну Subtitle Styled.
  2. Скопируйте метку "title", соответствующую UITableViewCell в стиле субтитров, в пользовательский UITableViewCell.
  3. В пользовательском UITableViewCell удалите UITextField. Скопируйте в это параметры стиля из UILabel Detail из Subititle Styled UITableViewCell в этом UITextField.
  4. Сделайте необходимые приготовления.

Выглядит довольно ровно, не так ли?

Теперь делайте вещи из IBoutlet.

Другие вопросы по тегам