tableView beginUpdates и tableView endUpdates не работают на устройстве iOS 5 - PullRequest
0 голосов
/ 26 ноября 2011

я работаю над UITableView.мое приложение работает очень хорошо с устройствами iOS 4, но при установке того же приложения на устройстве iOS 5, что и метод UITableView [tableView beginUpdates] и [tableView endUpdates] не выполняет требуемую задачу.

iЯ надеюсь, что вы поняли.Спасибо заранее.

1 Ответ

1 голос
/ 26 ноября 2011

В вашем коде я вижу две вещи: вы фактически не вставляете / не удаляете новую строку в вашем UITableView, и блок beginAnimations используется только для этой цели. Из документа :

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

  • (void) beginUpdates Discussion Вызовите этот метод, если вы хотите выполнить последующие операции вставки, удаления и выделения (для Например, cellForRowAtIndexPath: и indexPathsForVisibleRows) быть анимированные одновременно. Эта группа методов должна завершаться вызов endUpdates. Эти пары методов могут быть вложенными. Если вы делаете не делать вызовы вставки, удаления и выделения внутри этого блок, атрибуты таблицы, такие как количество строк, могут стать недействительными. Вы не должен вызывать reloadData внутри группы; если вы вызываете этот метод внутри группы вам нужно будет выполнять любые анимации самостоятельно.

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

Анимация просмотров Использование методов в этом разделе не рекомендуется в iOS 4 и более поздних версиях. Вместо этого используйте методы анимации на основе блоков.

Я бы попробовал перейти к новому коду с условным оператором, в зависимости от версии iOS, на которой работает ваше приложение.

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