2013-07-16 28 views
-1

我的應用程序中有兩個視圖。在iOS中無需初始化切換視圖

啓動應用程序後,我切換視圖與按鈕這樣的:

UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"Storyboard" bundle:[NSBundle mainBundle]]; 
UIViewController *view = [storyboard instantiateViewControllerWithIdentifier:@"view_a"]; 

[self presentViewController:view_a animated:NO completion:nil]; 

但每當我切換視圖上面的代碼初始化視圖。 我想保持視圖的以前狀態。

我怎樣才能解決這個問題?

回答

0

instantiateViewControllerWithIdentifier:總是返回UIViewController的新實例。

如果您不想一遍又一遍地創建它,則需要保留前一個參考。

0

在iPad這將呈現第二視圖模態,由視圖modalTransitionStyle所指示。所以你可以通過在新的ViewController上調用dismissViewControllerAnimated:completion:來回到原來的狀態。

在iPhone上,你可以使用一個UINavigationController在故事板推,然後彈出secondViewController。

只要你使用的是故事板,你可以設置過渡存在和使用進行了 - performSegueWithIdentifier:sender:從您的按鈕。或者就此而言,您可以將segue直接連接到按鈕,在這種情況下,轉換將在沒有附加代碼的情況下執行。