В вашем UITableViewDelegate есть необязательный метод:
tableView:willBeginEditingRowAtIndexPath:
Этот метод уведомляет вас, только если пользователь проводит ячейку. Чтобы узнать, что вы находитесь в режиме редактирования любым другим способом (например, нажатием кнопки), вы можете использовать:
- (UITableViewCellEditingStyle)tableView:(UITableView *)tableView editingStyleForRowAtIndexPath:(NSIndexPath *)indexPath {
NSLog(@"Editing");
isEditing = YES;
return UITableViewCellEditingStyleDelete;
}
Обратите внимание, что вы должны вернуть UITableViewCellEditingStyle, в большинстве случаев это будет UITableViewCellEditingStyleDelete. Также обратите внимание, что это вызывается для каждой ячейки, поэтому, если вы хотите проверить, находитесь ли вы в режиме редактирования (в отличие от уведомления), вы можете использовать:
[tableView isEditing]