2013-07-05 113 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];