2010-08-20 58 views
0

我的頂級視圖立即將我的SplashView推入其ViewWillAppear方法中。在某些情況下,SplashView會推出一個額外的視圖,該視圖會正確彈出。發生這種情況時,頂層視圖不會出現。PopViewController不會彈出視圖

但是,頂層代碼正在運行(它有一個每分鐘寫入日誌的計時器)。如果我把它陷入調試,我可以看到代碼執行。此外,在頂級ViewDidAppear中,如果我登錄[self navigationController].visibleViewController.nibName,則出現頂級的名稱。

如果我不執行SplashView中的Push,一切正常。

該應用程序被強制進入橫向模式,並且每個ViewController都包含方法的return UIInterfaceOrientationIsLandscape(interfaceOrientation);

我很困惑,不知道下一步該做什麼。建議?

回答

0

雖然我沒有確切地確定這是爲什麼發生,我已經解決了這個問題。以下是我在進一步調試時注意到的一些事情:

  • 我注意到日誌中的消息wait_fences: failed to receive reply: 10004003。在這方面掃描博客並沒有多大幫助,但它進一步走上了道路。對它的引用顯示了UIAlertView的問題,我在Splash視圖中有過。
  • 我添加了ViewDidAppear邏輯到Splash視圖,然後發現這被調用了兩次!然後,我添加了邏輯,只對其執行一次,我的問題就解決了!

因此顯然有一些與視圖被調用兩次,正在創建我的第一個問題的怪癖。我發現的參考暗示這是一個'舊'操作系統的問題,但我使用的是xCode 3.2.3和SDK 4.0.2,所以也許它回來了!哎呀,我不記得它是用SDK 4.0.1來做的!