2010-12-08 2 views
2

Как нарисовать «save» & Кнопки «отменить» на панели навигации, когда пользователь нажимает «редактировать»? Кроме того, как мне скрыть «ручки» удаления и вместо этого сделать каждую строку редактируемой, например, приложение «Контакты для контактов с Apple»?Настройка кнопки редактирования UINavigationController?

ответ

3

У UIViewController есть метод -setEditing:animated:, который вы можете заменить. В этом методе вы можете позвонить -setRightBarButtonItem или -setLeftBarButtonItem.

Что касается вашего второго вопроса, посмотрите на UITableViewDataSource. Существует метод под названием -tableView:moveRowAtIndexPath:toIndexPath.

EDIT: Если вы хотите ввести текст в UITableViewCell, вы должны разместить UITextField в своем -tableView:cellForRowAtIndexPath:. Посмотрите here.

+0

Приветствия для помощи мат! – 2010-12-12 17:36:52

+0

Рад, что я мог помочь. Используйте галочку, чтобы отметить ее как правильный ответ, чтобы другие могли ее видеть. – fabian789 2010-12-12 17:41:24

3

Чтобы создать кнопку 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:.

1

Для обоих ответов, я хотел бы добавить следующее:

Чтобы удалить кнопку Added, установите right/leftBarButtonItem в nil