我已閱讀了很多有關此問題的問題,但仍無法找到解決此問題的適當解決方案。我有一個新聞應用程序,在啓動畫面上啓動(要獲取新聞提要並緩存它們),然後切換到主屏幕,這是新聞文章的混搭。你可以通過點擊文章,部分,畫廊,視頻等從這個屏幕導航到許多其他屏幕......我有一個固定的頁眉和頁腳,我決定繼承一個主UIViewController並將它們放在那裏(我'在我的其他UIViewControllers中繼承這個UIViewController)切換UIViewControlles - Ambigious
我讀過,最好的方法是讓多個視圖控制器控制我的應用程序的特定部分。不過,我仍然對如何正確和負責任地進行切換感到困惑。我試過故事板塞格斯,但我遇到了兩個問題:
- 我需要創建很多塞格斯的,因爲你幾乎可以從 任何屏幕跳轉到任何其他屏幕
- 的塞格斯將不保留的狀態一旦你跳到另一個UIViewController,一旦你回去它被重置爲它的初始狀態 。
我也讀過關於當前的視圖控制器,你可以將你的視圖作爲當前控制器上的模態。然而,你需要做很多事情,而且我對內存消耗問題有點害怕。如何創建一個多視圖應用程序沒有應用程序視圖hiearchy(UINavigationController/UITabController/etc ...)通常我想聲明所有我的視圖控制器在開始時,只是在它們之間切換爲需要(當我第一次需要一個視圖,我會初始化)任何人嘗試過類似的東西之前?
非常感謝。
編輯:謝謝你的回覆,我出去看了關於UIViewController遏制的WwDC會議,並幫助我瞭解如何實現自定義UIViewController容器。然而,仍然有一些我無法理解的東西。
當我創建一個自定義的UIViewController容器時,我需要使用addChildViewController爲其添加子項,並且會在我的子UIViewController上觸發willMoveToParentController事件。
然後我使用[self.view addSubview ...]將子控制器子視圖添加到容器視圖中,但是這隻會加載視圖並且不會將它們鏈接到我在子UIViewController內創建的事件。
我應該用addSubview以外的東西嗎?或者我應該使用單獨的UIView類來連接我的事件?
請檢查我對這個問題的回答http://stackoverflow.com/questions/9318232/ ..它可能會幫助你。 – 2012-02-19 12:19:38
謝謝Malek,在這種情況下如何處理過渡? – ravenstone 2012-02-19 12:26:57
例如..'UIViewController * vc = [appDelegate.controllersArr objectAtIndex:0] vc.modalTransitionStyle = UIModalTransitionStyleCrossDissolve;' – 2012-02-19 12:45:04