2011-12-01 140 views
19

我今天在玩iOS 5和故事板。我現在擁有它,以便主要故事板以uitabbarcontroller,navigationviewcontroler和uiviewcontroller開頭。所有的工作正常。故事板 - UITabBarController

我在找的是如何動態設置uitabbarcontroller在應用程序啓動時顯示的viewconotroller。所以我想使用CoreData來查看一個表是否爲空,並且它是選擇第二個viewcontroller(tabbar項目2),如果不選擇第一個viewcontroller(tabbar項目1)。

由於故事板處理正在顯示的內容,因此我不確定應用程序代表如何設置此代碼?

希望有人能指點我這裏的正確方向!

謝謝!

+0

好問題的傢伙。這裏有一個投票,所以你可以投票 – Farini

回答

27

您的應用程序委託將具有窗口屬性。這可以用來從我的應用程序代表應用程序的一個獲得一個指針到故事板的初始視圖控制器(這將是你的UITabBarController),像這樣的例子中:didFinishLaunchingWithOptions:

UITabBarController *tabController = 
    (UITabBarController *)self.window.rootViewController; 
tabController.selectedIndex = 
    [defaults integerForKey:kOptionLastTabSelectedKey]; 
tabController.delegate = self; 
+0

Perfetch ....謝謝! – Clarke76

+0

感謝您的代碼。我用過它。但是如何在故事板中獲得任何其他視圖控制器?有沒有辦法做到這一點? – roocell

+0

有一個UIStoryboard的 - instantiateViewControllerWithIdentifier:方法(假設你已經設置了你想要訪問的視圖控制器的標識符字符串),儘管這會*創建一個新的視圖控制器實例。當然,在源視圖控制器的prepareForSegue:方法中,可以使用從應用程序中的storyboard segues創建的視圖。 – abelsey

0

對於我來說,我可以使用訪問的TabBar self.navigationController.parentViewController; 這總是返回tabbar控制器。

相關問題