2012-01-12 74 views
1

我對iOS世界很新穎,因爲我來自基於Activity的基於Android的世界,我對iOS如何管理視圖之間的轉換有點困惑。如何切換iOS上的視圖

我已經創建了一個UIViewController,它以全屏顯示登錄表單(這是一個針對iPad的應用程序)。成功登錄後,我想切換到另一個視圖並使用UISplitViewController。爲了能夠從我的初始控制器推到第二個(也是一個UIViewController),我已經添加了一個UINavigationController,其中第一個控制器是根。

我已經將UISplitViewController添加到我的第二個UIViewController的xib中。之前的Xcode抱怨說,我的第二個UIViewController沒有視圖插座集,所以我基本上盲目地將它設置到我的UISplitViewController中的detailView。

結果是,第一個UIViewController確實被推開了,但我沒有看到UISplitViewController顯示,但我在視圖插座中設置了DetailView。

我錯過了什麼嗎?首先顯示一個全屏(沒有花哨,沒有裝飾)的UISplitViewController然後推送到UISplitViewController?我以前的嘗試都使用了新的Storyboard功能,但事實證明這更加令人困惑(即涉及到太多的魔法)。也許我剛剛得到了iOS的一些UI範例錯誤。

回答

0

您可能希望以UINavigationController作爲您的根視圖控制器。 UINavigationController的init方法將另一個視圖控制器作爲參數(也被稱爲根視圖控制器),它可以是當前用作應用程序根視圖控制器的視圖控制器。這將在導航控制器中顯示。

將視圖控制器放置在導航控制器中後,您可以調用[self.navigationController pushViewController:x]顯示新的視圖控制器,然後[self.navigationController popViewController]再次返回。如果您不想將導航欄放在頂部,則可以將其設置爲隱藏。

或者,您可以通過調用[self presentModalViewController:x]來在另一個視圖控制器中顯示全屏視圖控制器以顯示它。

0

一般來說,你想設置UIViewController的視圖出口到你的xib頂層視圖。當你創建xib時,它可能會給你一個空白視圖作爲起點,然後你添加了你的UISplitView。那(以前)的空白視圖就是你想要作爲視圖插座的那個視圖。

0

在給定的代碼中。我切換到按鈕點擊next查看..

NextController(查看要顯示就像我們在Android中顯示一個新的Activity)

首先導入LIK

#import "NextController.h" 

然後

- (IBAction)clicking:(id)sender { 

    NextController *nextviewcontroller = [[NextController alloc]initWithNibName:@"NextController" bundle:nil];// include it before calling it.. 

    [self presentViewController:nextviewcontroller animated:YES completion:nil]; 

} 

其中initWithNibName:@NameOfNibFileToShowpresentViewController是內置的功能和animated:YES以顯示動畫