我创建了一个具有UITabbarController的故事板,但是现在我想添加一些逻辑来确定特定的tabbar按钮将显示哪个viewcontroller。
示例...如果客户有一个有效的订阅显示viewcontroller一个,如果没有订阅显示viewcontroller两个。
这是否可以使用故事板,我看过UITabBarDelegate和prepareForSegue但是很难将它拼凑在一起?
有没有关于如何使用StoryBoards做这种事情的例子?
非常感谢
答案 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,如下所示:。并在AttributeInspector中为每个segue提供一个标识符,例如viewControllerONE为“one”,viewControllerTWO为“two”。 然后在tabBarButton操作中执行以下操作: -
if(subscription)
[self performSegueWithIdentifier:@"one" sender:self];
else
[self performSegueWithIdentifier:@"two" sender:self];