Как нарисовать «save» & Кнопки «отменить» на панели навигации, когда пользователь нажимает «редактировать»? Кроме того, как мне скрыть «ручки» удаления и вместо этого сделать каждую строку редактируемой, например, приложение «Контакты для контактов с Apple»?Настройка кнопки редактирования UINavigationController?
ответ
У UIViewController
есть метод -setEditing:animated:
, который вы можете заменить. В этом методе вы можете позвонить -setRightBarButtonItem
или -setLeftBarButtonItem
.
Что касается вашего второго вопроса, посмотрите на UITableViewDataSource
. Существует метод под названием -tableView:moveRowAtIndexPath:toIndexPath
.
EDIT: Если вы хотите ввести текст в UITableViewCell
, вы должны разместить UITextField
в своем -tableView:cellForRowAtIndexPath:
. Посмотрите here.
Чтобы создать кнопку Cancel
с левой стороны, примените метод setEditing:animated:
и вставьте следующее внутри.
self.navigationItem.leftBarButtonItem = [[[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemCancel target:self action:@selector(cancelEdit:)] autorelease];
И добавить Save
кнопку:
self.navigationItem.rightBarButtonItem = [[[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemSave target:self action:@selector(SaveEdit:)] autorelease];
Убедитесь, что вы реализуете cancelEdit:
и saveEdit:
.
Для обоих ответов, я хотел бы добавить следующее:
Чтобы удалить кнопку Added, установите right/leftBarButtonItem
в nil
Приветствия для помощи мат! – 2010-12-12 17:36:52
Рад, что я мог помочь. Используйте галочку, чтобы отметить ее как правильный ответ, чтобы другие могли ее видеть. – fabian789 2010-12-12 17:41:24