Пустой экран для вкладки iOS 5 после отключения модального режима и возврата из фона после предупреждения памяти - PullRequest
8 голосов
/ 10 ноября 2011
  1. Запуск приложения с вкладками с помощью симулятора iOS 5 или устройства
  2. Вывод модального диалога
  3. Имитация предупреждения о памяти (для устройств перейдите в некоторые приложения, которые занимают много памяти)
  4. Переключиться на другое приложение (если вы еще этого не сделали)
  5. Вернись в приложение
  6. Закрыть диалоговое окно

Вы увидите пустой экран (окно). Тестовый проект для демонстрации этой ошибки / проблемы: http://github.com/chetanpungaliya/iOS-5-TestModal

Ответы [ 2 ]

4 голосов
/ 11 января 2012

Я столкнулся с этим сам сегодня и не могу найти никакого объяснения, кроме как это ошибка iOS 5. После небольшого взлома я нашел обходной путь. Перед тем как закрыть модальный контроллер вида, измените tabBarController.selectedIndex на другой индекс контроллера вида, а затем снова вернитесь.

Вы можете увидеть это в клоне вашего проекта на https://github.com/xjones/iOS-5-TestModal. Я также отправил вам это как запрос на извлечение.

РЕДАКТИРОВАТЬ: добавлен отчет openradar

Кто-то также опубликовал это на openradar: http://openradar.appspot.com/10529236

1 голос
/ 25 января 2013

У меня тоже была такая же проблема и я ее исправил.Проблема в том, что в методе viewDidUnload выходы, которые мы подключаем через xib, имеют значение nil.Этот метод вызывается во всех представлениях, которые в данный момент не видны, когда появляется предупреждение о памяти.Когда мы возвращаемся к этим представлениям, их метод viewDidLoad вызывается снова.Единственный способ исправить это - удалить методы setNil из viewDIdUnload в метод dealloc, и все будет работать нормально.

...