commitEditingStyle tableView и знание, когда нажата кнопка «Готово» - PullRequest
2 голосов
/ 10 сентября 2009

Мой контроллер наследуется от UITableViewController с левой кнопкой, назначенной для editButtonItem. Как я могу узнать, когда пользователь нажал кнопку «Готово» после выдачи всех желаемых удалений?

self.navigationItem.leftBarButtonItem = self.editButtonItem;

Я реализую

- (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath 

При этом я вижу, когда происходит удаление для каждого элемента в таблице, но я также хотел бы знать, когда нажимается кнопка «Готово».

Ответы [ 2 ]

3 голосов
/ 11 сентября 2009

Оказывается, мне нужно переопределить:

- (void)setEditing:(BOOL)editing animated:(BOOL)animated 

Это сообщит мне, когда редактирование закончится.

0 голосов
/ 06 апреля 2010

Вы также можете использовать пользовательский UIBarButtonItem как Edit:

editButton = [[UIBarButtonItem alloc] initWithTitle:@"Edit"
  style:UIBarButtonItemStyleBordered target:self action:@selector(toggleEditing)];
editButton.possibleTitles = [NSSet setWithObjects:@"Edit", @"Save", nil];
self.navigationItem.leftBarButtonItem = editButton;
isEdit = YES; // class level flag

- (void)toggleEditing {
  if (isEdit) {
    isEdit = NO;
    editButton.text = @"Save";
    ...

  }
  else {
    isEdit = YES;
    editButton.text = @"Save";
    ...
  }
}

Таким образом, вы можете контролировать заголовок кнопки «Изменить» и изменить его на «Сохранить» вместо «Готово», если у вас есть кнопка «Отмена» справа.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...