2012-03-07 70 views
0

我正在創建一個應用程序使用iPhone實用程序的應用程序框架,我試圖在flipside視圖上使用導航控制器,因爲這個視圖上會有很多深入的選項。當我這個觀點做了,我把下面的代碼:使用dismissModalViewControllerAnimated而不釋放模態視圖控制器

- (IBAction)done:(id)sender 
{ 
    [self dismissModalViewControllerAnimated:YES]; 
} 

當我關閉這個觀點,我希望能夠回到在導航我目前正處當我重新打開此的地方再次查看。但是,當我使用此方法解除此視圖時,vc會被釋放,因此,當我嘗試返回菜單時,菜單會從頭開始。

想法?

+0

請顯示你如何分配和推視圖控制器。 – Damo 2012-03-07 15:32:26

回答

2

您需要保留對該對象的引用(我稱之爲選項控制器)。我會說最簡單的方法是在呈現視圖控制器中創建一個引用選項控制器的iVar。然後,當您再次出現選項控制器時,只需提供參考選項控制器,而不是創建新的控制器。如果不同的視圖控制器對象可以顯示選項控制器,則需要傳遞該引用,或者將其存儲在其他所有視圖控制器都可以訪問的某個對象中。

+0

這是要走的路,正是我在上面的評論中暗示的: - / – Damo 2012-03-07 15:36:28

0

嗯,沒有太大的代碼,所以也許我誤解你的設置,但是...

您可以使用AppDelegate中存儲(作爲屬性)您的當前位置(指數)在導航控制器的視圖集合中,然後編寫一個方法,以便在稍後再次訪問時推入該(存儲的)位置。

可能做到這一點,雖然更簡單的方法..

0

所以,你要的是從視圖另一種觀點翻轉?如果你想保持翻轉之間的導航欄狀態,我建議你只使用一個視圖控制器來控制這2個視圖。您可以使用UIView+ transitionFromView:toView:duration:options:completion:翻轉視圖。

相關問題