2010-05-10 2 views

ответ

18

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

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

+1

Спасибо! И как закончить редактирование ячейки, если я выхожу за пределы TableView? –

+0

Фактически, добавление их в качестве подзонов в 'contentView' не будет выглядеть так, как на изображении. Он также будет находиться под текстовой меткой. Я установил текстовое поле как «аксессуар», и он сработал. Однако вам нужно жестко обозначить его ширину как волшебное число, и это проблема, если вы поддерживаете обе ориентации экрана. – Isuru

0

Редактировать на месте с помощью «Контент: статические ячейки» и сделать его похожим на UITableviewCell по умолчанию.

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

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

Теперь, сделайте материал IBoutlet.