2011-07-29 67 views
2

好吧,這有點難以解釋,但我在這裏。在「View1」我使用動畫UIView轉到「View2」。我做的動畫是通過黑色淡入淡出,切換視圖。我通過-addSubview得到View2。現在讓我們說我們在View2,我的動作被調用去View3使用presentModalView。由於我需要刪除「View2」視圖,因此我[self.view removeFromSuperview];在我的viewDidDisappear方法中,這樣動畫去View3沒有搞砸。 這是問題所在,當我從「View3」返回到「View1」時,我再次使用presentModalView進行動畫翻轉。現在你知道當你經常翻轉視圖時,你會看到背景中的背景(通常是白色),而不是它的「View2」。所以它就像是以某種方式被緩存。 有誰知道這是爲什麼?如果我需要發佈代碼,我可以。UIView被緩存?

+0

我認爲Apple建議爲每個單獨的「屏幕」使用一個單獨的視圖控制器。我知道這不是一個真正的答案,但如果你使用這個框架,它可能會更順利。 –

+0

它是一個單獨的視圖控制器。我將一個單獨的視圖控制器(另一個xib)作爲子視圖添加。 –

+0

視圖控制器應該被允許控制他們自己的視圖,我想 - 你可能在視圖控制器之間而不是在視圖之間轉換更多運氣。這聽起來像'UINavigationController非常適合這種用例。 –

回答

2

實際上,你可以查看本教程的使用UINavigationController

http://www.icodeblog.com/2008/08/03/iphone-programming-tutorial-transitioning-between-views/

要隱藏你的導航欄你可以看到這個帖子:

Is it possible use UINavigationController but hide its navigation bar (replace it with customized toolbar) and go back button

編輯1:

立即在此上傳項目:http://www.2shared.com/file/qU-QT8fl/Project.html 閱讀ReadMe.text文件。 :P

+0

好,所以我讀了它,但讓我在這裏得到一件事,我不必在IB做任何事情來更改UIViewController到UINavigationController正確?唯一的變化是切換視圖代碼,這就是它? –

+0

你可以這樣做:通過XIB在你的UINavigationController中放置一個UIViewController,或者,你可以將它添加到代碼中。基本上在那之後你將需要一個對你的UINavigationController(IBOutlet)的引用,所以你可以從它推入和彈出視圖。 – Peres

+0

好吧,我有點困惑。是否有任何教程從我的狀態轉換爲使用UINavigationControllers?我明白你在說什麼,但不知道該怎麼做。我不想搞亂我的應用程序。我已經有了8個XIB,並且都是uiviewcontrollers。 –