Стек CoreAnimation сходит с ума - PullRequest
0 голосов
/ 09 сентября 2011

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

Проблема в том, что после строки открытия и закрытия контроллера представления, который помещается в контроллер навигации, все подпредставления исчезнут (включаяэлементы панели навигации) и показать прямо через окно.После того, как это произойдет, я все еще могу нажимать кнопки на панели навигации, но они сразу исчезнут при обновлении, и восстановление стабильного состояния пользовательского интерфейса невозможно без выхода и повторного запуска.Еще один неясный побочный эффект заключается в том, что после закрытия приложения Springboard будет мигать, когда я перемещаюсь между экранами.Мои первые мысли были о том, что это проблема с памятью (например, подпредставления освобождаются при предупреждении о памяти), но с тех пор я очистил все утечки и проверил всю обработку точек зрения viewDidLoad / viewDidUnload, и проблема все еще возникает.Так что теперь я думаю, что с эффектом Springboard, код каким-то образом портит состояние основной анимации.

Кто-нибудь видел что-то подобное раньше?Или есть идеи, как можно было бы сделать это много беспорядка?Я бы приложил несколько снимков экрана, но попытка сделать снимок экрана с телефоном, когда приложение находится в этом состоянии, вызывает сбой системы.

Ответы [ 2 ]

0 голосов
/ 23 января 2012

Как оказалось, эта ошибка была вызвана освобождением UIView, пока у него был суперпредставление.

0 голосов
/ 07 октября 2011

Я не сталкивался с этим, но, возможно, предупреждение о памяти съедает некоторые из ваших представлений?

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

Я бы вставил точку останова в viewdidunload или аналогичную и посмотрел бы, срабатывает ли она.

...