моя кнопка редактирования не может измениться на готово, удалить строку, проведя - PullRequest
0 голосов
/ 03 февраля 2012

Я работаю над UITableView и делаю удаление.Насколько я знаю, есть 2 способа удалить строку

  1. , проводя слева направо, и появится кнопка Удалить, чтобы вы могли сделать удаление

  2. добавить кнопку РЕДАКТИРОВАТЬ справа вверху справа или слева.При нажатии на нее, ПРАВКА изменится на ГОТОВО, и у каждой строки таблицы будет красный круг со знаком (-) перед каждым.Нажмите на нее, кнопка удаления появится, и вы сможете обработать

Я заметил, что если у вас есть кнопка EDIT и вы используете метод 1 для удаления, кнопка EDIT также изменитсяСДЕЛАНО ... Однако, после того, как это произвело, мое все еще РЕДАКТИРУЕТ.Кто-нибудь сталкивался с этой проблемой раньше, пожалуйста, помогите.Все комментарии приветствуются здесь.Спасибо

Ответы [ 3 ]

2 голосов
/ 03 февраля 2012

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

Так что в основном все работает правильно.

Однако, если вы хотите переопределить стандартное поведение, вы можете вызвать setEditing: на viewController для программного переключения режима, который также обновит кнопку редактирования.

1 голос
/ 03 февраля 2012

Добавьте кнопку Изменить, используя метод ViewdidLoad

-(void)viewDidLoad;
{
  [super viewDidLoad];
  self.navigationItem.leftBarButtonItem = [self editButtonItem];
}

И для метода удаления

- (void)tableView:(UITableView *)aTableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle
forRowAtIndexPath:(NSIndexPath *)indexPath
{
    [array removeObjectAtIndex:indexPath.row];
    [self.tableView deleteRowsAtIndexPath:[NSArray arrayWithObject: indexPath] withRowAnimation: UITableViewRowAnimationFade];
    [self.tableView reloadData];
}
0 голосов
/ 05 июня 2014

Чтобы получить такое поведение, вам нужно реализовать эти два метода делегата:

- (void)tableView:(UITableView *)tableView willBeginEditingRowAtIndexPath:(NSIndexPath *)indexPath
{
    self.editing = YES;
}

- (void)tableView:(UITableView *)tableView didEndEditingRowAtIndexPath:(NSIndexPath *)indexPath
{
    self.editing = NO;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...