UITableView с пользовательским UITableCells вылетает при случайном выходе из режима редактирования - PullRequest
1 голос
/ 28 марта 2011

У меня серьезные проблемы с моим UITableView. Сначала я опишу структуру, потому что ошибка, которая случается иногда, не очевидна:

  • My UITableView состоит из различных пользовательских ячеек с UIImage s, UIButton s и UITextfield s.

  • В своих ячейках я перезаписываю метод layoutsubviews, чтобы изменить внешний вид ячейки, анимированной, когда таблица переходит в режим редактирования. Например, у меня есть UIImage x в определенной позиции, и я делаю что-то в layoutsubviews, например if(edit) x.frame = ....., чтобы изображение x перемещалось в новую позицию, когда таблица переходит в режим редактирования.

  • когда я вхожу или покидаю режим редактирования секций таблицы, а строки добавляются или удаляются в анимационных блоках (beginupdate / endupdate)

  • моя таблица меняет заголовок таблицы при входе в режим редактирования при выходе

Теперь моя проблема:

У меня нет ошибок при добавлении или удалении ячеек / разделов и нет ошибок индекса, кажется, все работает нормально. Но иногда, когда я покидаю режим редактирования, я получаю сообщение CALayer position contains NaN. Ошибка не воспроизводима и, как мне кажется, случается очень случайно. Ошибка возникает в анимационном блоке между beginupdates / endupdates, где я буду удалять строки и раздел в этом случае использования (выход из режима редактирования) ... режим редактирования выхода запускается на строку раньше блок анимации (выход из режима редактирования заставит ячейки анимировать свое изображение и кнопки к его неэкранированным кадрам) ... так что, возможно, две запускаемые анимации, возникающие рядом, создают проблемы НЕКОТОРЫЕ ..... потому что проблема происходит очень случайно, я могу ' не понимаю, в чем проблема? Любая подсказка будет полезна !!

Еще одна вещь состоит в том, что, когда я отлаживаю с устройством, ошибка происходит очень редко. Но когда я использую приложение на устройстве без отладки, это случается часто.

...