Редактирование UITableView не работает - PullRequest
0 голосов
/ 15 июня 2011

У меня есть кнопка (UINavigationBarItem), используемая для редактирования моего UITableView, которая позволяет только удалять. Поэтому, когда я нажимаю «Удалить», рядом с каждой ячейкой появляется маленькая красная линия, и я могу удалить каждую строку.

При нажатии кнопки вызывается следующая функция:

-(void)editButtonSelected:(id)sender {

    if(self.editing)
        NSLog(@"self.editing = true");
    else
        NSLog(@"self.editing = false");

    if(self.editing) {
        [super setEditing:NO animated:NO];
        [tableView setEditing:NO animated:NO];
        [tableView reloadData];
        [leftButton setTitle:@"Delete"];
        [leftButton setStyle:UIBarButtonItemStylePlain];
        self.editing = false;
    }
    else {
        [super setEditing:YES animated:YES];
        [tableView setEditing:YES animated:YES];
        [tableView reloadData];
        [leftButton setTitle:@"Done"];
        [leftButton setStyle:UIBarButtonItemStyleDone];
        self.editing = true;
    }
}

И все работает отлично. Но только на время. Как только я представляю новый UIViewController, а затем отклоняю этот контроллер, эта функция удаления не работает на этом главном экране, который у меня есть. Он работает нормально, пока новый UIViewController не будет помещен сверху. Сама кнопка работает нормально, и значение self.editing действительно переключается между истиной и ложью, но маленькие красные линии не отображаются. Почему это могло произойти?

1 Ответ

0 голосов
/ 15 июня 2011

Я бы предположил, что целью вашего UINavigationBarItem по-прежнему является первый контроллер представления, а не последующие контроллеры представления, которые помещаются в стек.

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