У меня серьезные проблемы с моим 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, где я буду удалять строки и раздел в этом случае использования (выход из режима редактирования) ... режим редактирования выхода запускается на строку раньше блок анимации (выход из режима редактирования заставит ячейки анимировать свое изображение и кнопки к его неэкранированным кадрам) ... так что, возможно, две запускаемые анимации, возникающие рядом, создают проблемы НЕКОТОРЫЕ ..... потому что проблема происходит очень случайно, я могу ' не понимаю, в чем проблема? Любая подсказка будет полезна !!
Еще одна вещь состоит в том, что, когда я отлаживаю с устройством, ошибка происходит очень редко. Но когда я использую приложение на устройстве без отладки, это случается часто.