Как сделать редактирование на месте в UITableView? - PullRequest
9 голосов
/ 10 мая 2010

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

enter image description here

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

Ответы [ 2 ]

18 голосов
/ 10 мая 2010

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

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

0 голосов
/ 03 января 2013

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

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

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

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

...