Почему мой UITableViewController setEditing: animated: метод не вызывается? - PullRequest
3 голосов
/ 06 сентября 2010

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

Что может быть причиной этого?

Моя иерархия представления загружается из Nib-файла и помещается во всплывающее окно.Кнопка [+] связана с действием insertNewObject моего подкласса UITableViewController.Он работает нормально.

Однако кнопка [Редактировать] не имеет действия для подключения.В документе говорится, что он автоматически вызовет метод setEditing:animated: контроллера представления, который я переопределил.

Файл пера настроен почти так же, как и обычный AFAICT.И на самом деле, я не уверен, какие дополнительные детали я могу дать, чтобы предположить мою ошибку.

Каков поток управления от нажатия кнопки [Редактировать] до вызова метода setEditing:animated

1 Ответ

0 голосов
/ 04 декабря 2012

Я чувствую, что мы, должно быть, упускаем одно и то же.

В любом случае, я заставил это работать следующим образом.

IBOutlet UIBarButtonItem *editButton;

-(IBAction)editButtonPressed:(id)sender {
    [self setEditing:YES animated:YES];
}

- (void)setEditing:(BOOL)editing animated:(BOOL)animate
{
    if(self.tableView.isEditing)
    {
        self.editButton.style = UIBarButtonItemStylePlain;
        self.editButton.title = @"Edit";
    }
    else
    {
        //self.editButton.style = UIBarButtonSystemItemDone;
        self.editButton.style = UIBarButtonSystemItemEdit;
        self.editButton.title = @"Done";
    }

    // Toggle table view state
    [super setEditing:!self.tableView.isEditing animated:animate];
}

Я подключил кнопку edit до кнопкиЯ добавил к панели навигации, и это действие для IBAction editButtonPressed.После этого вызывается мой setEditing: (очевидно), и супер вызов переключает состояние редактирования табличного представления.

Я хотел бы использовать определенные пользователем стили кнопок, но соответствующий закомментирован, потому что пока онизменил стиль Я не мог понять, как изменить текст с «Редактировать» на «Готово», поэтому мне пришлось делать все вручную (это работало, только если я оставил кнопку как «Пользовательский» и установил стиль в общем).Недостатком является отсутствие локализации (бесплатно) и т. Д.

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