В iPhone UITableView отсутствует кнопка раскрытия после нажатия кнопки «Удалить» при повторном использовании UITableViewCell - PullRequest
3 голосов
/ 20 апреля 2009

У меня есть iPhone UITableView, отображающий пользовательские UITableViewCell с правым значком кнопки раскрытия.
Когда я провожу ячейку, кнопка раскрытия автоматически заменяется красной кнопкой «Удалить». Если я нажимаю кнопку «Удалить», строка удаляется из таблицы, но затем происходит нечто странное.
Когда я прокручиваю таблицу и удаляю ячейку повторно , данные загружаются правильно, но кнопка раскрытия отсутствует .

Я пытался сбросить кнопку в методе prepareForReuse, но безуспешно.

Я не понимаю, чего мне не хватает, потому что поведение приложения Mail такое же, как и должно поддерживаться операционной системой iPhone.

Кстати: UITableViewCell загружается из NIB.

1 Ответ

5 голосов
/ 21 апреля 2009

похоже, что я решил проблему, добавив

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath 

эта строка кода:

[cell setAccessoryType:UITableViewCellAccessoryDetailDisclosureButton];

Я думаю, что эта строка бесполезна для нормальных ячеек, но восстанавливает правильное поведение ячеек, если ячейки используются повторно после удаления ...

В любом случае, чтобы удалить строку, которую я использовал в

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

эта (я думаю) стандартная строка:

 [tableView deleteRowsAtIndexPaths:[NSArray arrayWithObject:indexPath] withRowAnimation:YES];

Спасибо Stefano

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