2011-03-22 71 views
0

我的應用程序有5個屏幕,它們由底部的一個tabbar控制,其中一個屏幕是SplitView。如何讓viewViewAppear在主視圖和細節視圖中都被調用

我的問題是:

  • 主視圖只是引起viewWillAppear中只有一個在時間第一次旋轉。
  • 詳細視圖也只是導致viewWill只在第一次加載時出現一次。

雖然我想主機和詳細信息視圖的viewViewAppear越來越每次調用此屏幕打開時,因爲有5個不同的屏幕,用戶可以離開這個屏幕來查看其他,所以我想知道無論何時主視圖和詳細視圖都會改變佈局或刷新數據。

請幫助我,在此先感謝!

+0

我覺得原因是UISplitViewController是一個單根視圖模型,所以viewWillAppear只是被調用一次,有什麼方法可以改變它嗎? – 2011-03-22 10:00:56

回答

3

它看起來像只是讓自己的問題變得更糟。我知道你不想聽到的東西,但蘋果的文檔說它必須得到根視圖。嘗試重構您的應用程序。

鏈接到文件: http://developer.apple.com/library/ios/#featuredarticles/ViewControllerPGforiPhoneOS/iPadControllers/iPadControllers.html#//apple_ref/doc/uid/TP40007457-CH6-SW2

從文檔:

分割視圖控制器必須始終 創建任何接口的根。 換句話說,您必須始終從 安裝視圖 aUISplitViewController對象作爲您的應用程序的 窗口的 根視圖。然後,您的分割視圖 界面的窗格可能包含導航 控制器,標籤欄控制器或 您需要實現您的界面的任何其他類型的視圖控制器。

+0

非常感謝,我嘗試了一種更簡單的方法,並且不影響現有的屏幕,我使用2個tableView來模擬splitView,並且它運行良好。 – 2011-04-13 03:08:21

+0

這似乎是最好的選擇 - 使用標準的UISplitViewController只會導致挫折。自定義類是需要的。我發現了一個自定義的SplitViewController,可以完成與你想要的非常相似的任務。它絕對值得Slatvick檢查[鏈接](https://github.com/slatvick/APSplitViewController/)。 ---另一個來自CocoaIsMyGirlfriend [鏈接](http://www.cimgf.com/2010/05/24/fixing-the-uisplitviewcontroller-template/)---最後一個來自Matt Gemmel [link] (http://mattgemmell.com/2010/07/31/mgsplitviewcontroller-for-ipad) – DogEatDog 2011-05-17 15:24:34

+0

非嵌入鏈接: Slatvick https://github.com/slatvick/APSplitViewController/ CocoaIsMyGirlfriend HTTP:// WWW .cimgf.com/2010/05/24 /修復-uisplitviewcontroller-template/ Matt Gemmel http://mattgemmell.com/2010/07/31/mgsplitviewcontroller-for-ipad – DogEatDog 2011-05-17 15:30:51

相關問題