2014-03-25 119 views
0

我是新來的objective-c和ios編程。我正在構建一個tabbar應用程序。但在tabbar視圖控制器加載之前。我想加載一個「登錄屏幕」。在tabbar控制器之前添加視圖控制器

- 我能夠做到這一點哈弗。

我創建了一個新的tabbar應用程序。 我添加了一個新的視圖控制器,並使其成爲「初始」視圖控制器,創建了一個新的Objective-c類並將其關聯到新的視圖控制器。

現在如何在檢查用戶的用戶名/密碼後加載tabbar視圖控制器?

+0

您是使用故事板還是以編程方式做? –

回答

2

最好/最簡單的方法可能不會讓UITabBarController開始。

有你LoginViewController是你window直到用戶登錄在rootViewController,然後改變它是UITabBarController(不包括登錄視圖)。您可以在AppDelegate.m文件中執行此操作。

+0

迪瑪,感謝您的快速回復。所以我做了以下:在AppDelegate.h中導入我的LoginViewController,創建一個新的屬性。然後在我的AppDelegate.m下didFinishLaunchingWithOptions;我添加了:self.window.rootViewController = self.loginController。當我運行它時,屏幕出現黑屏,我得到一個「應用程序窗口預計在應用程序啓動結束時有一個根視圖控制器」 – shuskic

2

我會離開標籤欄控制器作爲您的根視圖控制器。在viewDidAppear中,檢查您的用戶是否已登錄,如果沒有,則以模態方式呈現登錄視圖控制器而不顯示動畫。

UIViewController *loginVC = [UIStoryboard storyboardWithName:@"storyboard" instantiateViewControllerWithIdentifier:@"Login"]; 
[self presentViewController:loginVC animated:NO completion:nil]; 

當用戶成功登錄時,您可以關閉登錄VC。它會滑下來,顯示您的標籤式佈局。

如果您需要更復雜的登錄層次結構(也許您需要推入註冊視圖或「無法登錄」視圖等),則可以將登錄視圖控制器嵌入導航控制器並代之以呈現。

+0

你能詳細說明第3段嗎?或者,也許創建一個教程?:)謝謝。 –

相關問題