故事板UITabBaar,从按钮启动两个不同的视图

时间:2013-07-05 09:08:57

标签: ios storyboard uitabbarcontroller

我创建了一个具有UITabbarController的故事板,但是现在我想添加一些逻辑来确定特定的tabbar按钮将显示哪个viewcontroller。

示例...如果客户有一个有效的订阅显示viewcontroller一个,如果没有订阅显示viewcontroller两个。

这是否可以使用故事板,我看过UITabBarDelegate和prepareForSegue但是很难将它拼凑在一起?

有没有关于如何使用StoryBoards做这种事情的例子?

非常感谢

2 个答案:

答案 0 :(得分: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]];
}

答案 1 :(得分:0)

如果你想根据订阅添加rootviewController,那么上面soryngod给出的答案是好的。

但是如果你想在rootviewcontroller加载后打开viewControllers,那么在tabBarButton按下执行以下代码: -

在此代码之前,通过segues将您的viewControllerONE和viewControllerTWO添加到rootViewController,如下所示:Picture。并在AttributeInspector中为每个segue提供一个标识符,例如viewControllerONE为“one”,viewControllerTWO为“two”。 然后在tabBarButton操作中执行以下操作: -

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