2010-08-20 4 views
0

Мой верхний уровень сразу же выталкивает мой SplashView в его метод ViewWillAppear. В некоторых условиях SplashView выдвигает дополнительный вид, который правильно отображается. Когда это происходит, представление верхнего уровня никогда не появляется.PopViewController not popping view

Однако код верхнего уровня запущен (он имеет таймер, который происходит каждую минуту, которая записывается в журнал). И если я поймаю его в Debug, я смогу увидеть исполняемый код. Кроме того, в верхнем уровне ViewDidAppear, если я зарегистрирую [self navigationController].visibleViewController.nibName, появится имя верхнего уровня.

Если я не делаю Push в SplashView, все работает нормально.

Приложение принудительно переходит в ландшафтный режим, и каждый ViewController содержит return UIInterfaceOrientationIsLandscape(interfaceOrientation); для метода shouldAutorotateToInterfaceOrientation.

Я сбитый с толку и не знаю, что делать дальше. Предложения?

ответ

0

Хотя я точно не определял, почему это происходит, я решил проблему. Вот некоторые вещи, которые я заметил при дальнейшей отладке:

  • Я заметил сообщение wait_fences: failed to receive reply: 10004003 в журнале. Сканирование блогов на этом не помогло мне, но оно пошло дальше по пути. Ссылки на него показали проблемы с UIAlertView, которые у меня были в представлении Splash.
  • Я добавил логику ViewDidAppear в представление Splash, а затем обнаружил, что это вызывалось дважды! Затем я добавил логику, чтобы действовать только один раз, и моя проблема была решена!

Так что, по-видимому, есть некоторые причуды с двойным представлением «Просмотр», которое создавало мою первоначальную проблему. Я предположил, что это была «старая» проблема ОС, но я использую xCode 3.2.3 и SDK 4.0.2, так что, возможно, это снова! Ну, я не помню, чтобы это делалось с SDK 4.0.1!