2013-07-05 149 views
0

啓動兩個不同的視圖我創建了一個具有UITabbarController的故事板,所有工作都很好,但現在我想添加一些邏輯來確定哪個視圖控制器將顯示特定的TabBar按鈕。故事板UITabBaar,從按鈕

示例...如果客戶有一個有效的訂閱顯示viewcontroller一個,如果沒有訂閱顯示viewcontroller兩個。

這是可能的使用故事板,我看過UITabBarDelegate和prepareForSegue但努力拼湊在一起?

是否有任何使用StoryBoards做這種事情的例子?

非常感謝

回答

0

您可以設置它是這樣的:

if(hasSubscription) 
{ 
    UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"MainStoryboard_iPhone" bundle:nil]; 

    ViewController1* subsection = [storyboard instantiateViewControllerWithIdentifier:@"ViewController1"]; 
    ViewController2* subsection1 = [storyboard instantiateViewControllerWithIdentifier:@"ViewController2"]; 

    [(UITabBarController*)self.window.rootViewController setViewControllers:[NSArray arrayWithObjects:subsection,subsection1, nil]]; 
} 
0

如果你想將根據簽約,然後通過上面給出soryngod答案補充RootViewController的是好的。

但是如果你想加載RootViewController的開後viewControllers,然後在tabBarButton按執行下面的代碼: - 此代碼之前

,你viewControllerONE和viewControllerTWO添加到由塞格斯的RootViewController的,如下所示:Picture。在AttributeInspector中給每個segue一個標識符,例如viewControllerONE爲「one」,viewControllerTWO爲「two」。 然後在tabBarButton操作中執行以下操作: -

if(subscription) 
      [self performSegueWithIdentifier:@"one" sender:self]; 
     else 
      [self performSegueWithIdentifier:@"two" sender:self];