удаление последней ячейки в uitableview замораживает другие разделы - PullRequest
0 голосов
/ 09 марта 2012

У меня есть простой сгруппированный пользовательский вид с панелью навигации и элементом навигации "Редактировать".кнопка «Редактировать» применяется только к первому разделу, а другие разделы таблицы делают совершенно разные вещи (например, настройки iPhone).Моя проблема с удалением последней ячейки этого конкретного раздела таблицы.Всякий раз, когда пользователь удаляет последнюю ячейку, я удаляю кнопку «Редактировать» с панели навигации (потому что она больше не применима ...).

Итак, я делаю это:

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

 .....

    if ([section count] == 0) {
        self.navigationItem.rightBarButtonItem = nil;

 .....  
    }

 .....

}

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

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

Для справки:

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

NSLog(@"****************** entering setEditing:animated");

[super setEditing:editing animated:animated];
[tblSimpleTable setEditing:editing animated:animated];

}

Любая помощьс этим будет высоко ценится.Спасибо!

1 Ответ

0 голосов
/ 09 марта 2012

Вы пробовали UITableView * метод перезагрузка Разделы: withRowAnimation: после

[tblSimpleTable setEditing:editing animated:animated];

Прекрасно работает на iOS 5. Может быть глючит на младших версиях.

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