2012-03-16 7 views
0

Я хочу добавить небольшую кнопку рядом с моим заголовком UITableView, который при нажатии меняет мои ячейки представления таблицы для редактирования (установка UITextField на место для ярлыка детали), что я могу а затем снова нажимаю кнопку, и она восстанавливается и сохраняется.iOS - Сделать UITableView с настраиваемыми ячейками, редактируемыми при нажатии кнопки

Или добавьте кнопку в нижний колонтитул, который просто читает «Сохранить», и ячейки всегда доступны для редактирования.

Как это сделать?

ответ

1

Подкласс UITableViewCell, переопределить layoutSubviews, чтобы подготовить различные представления нормального и режима редактирования (@property(nonatomic, getter=isEditing) BOOL editing, чтобы решить, какой из них). Или вы можете переопределить его setEditing: анимированный, но никогда не пробовал это.

Кнопка затем должен вызвать что-то вроде

[mytable setEditing:YES animated:YES]; 

При вызове этого метода со значением редактирования, установленным в YES, табличное переходит в режим редактирования, вызвав setEditing: анимированные: на каждый видимый Объект UITableViewCell. Вызов этого метода с настройкой редактирования на NO отключает режим редактирования. В режиме редактирования ячейки таблицы могут отображать элемент управления вставкой или удалением в левой части каждой ячейки и элемент управления переупорядочения с правой стороны в зависимости от конфигурации ячейки. (Подробнее см. В описании класса UITableViewCell). Источник данных в виде таблицы может выборочно исключать ячейки из режима редактирования, реализуя tableView: canEditRowAtIndexPath :.

+0

Любое руководство по программированию пользователя, которое объясняет это подробно? Также любая идея о том, как сделать кнопку? – 8vius

+0

@ 8vius посмотрите на ответ здесь. Не совсем то, что вы хотите, но общая идея должна быть довольно понятной: http://stackoverflow.com/questions/742829/animating-custom-drawn-uitableviewcell-when-entering-edit-mode –

+0

@ 8vius Что можно сказать о кнопке? Вам не нужно вызывать 'setEditing: NO', если вы этого не хотите, и вы можете оставить таблицу в режиме редактирования. Фактически, вы можете показать его в режиме редактирования с самого начала и никогда не отключать его. –