UITabBar 控制器选项卡导航到不同的 UIViewControllers

Posted

技术标签:

【中文标题】UITabBar 控制器选项卡导航到不同的 UIViewControllers【英文标题】:UITabBar Controller tab to navigate to different UIViewControllers 【发布时间】:2015-03-25 11:27:49 【问题描述】:

我有一个带有 6 个选项卡的 UITabBar 控制器,在 IB 中使用关系视图控制器设置。我希望其中一个选项卡根据一组条件以编程方式调用两个不同 UIViewController 中的一个。

这可能吗?如果可以,我在哪里实现代码?

编辑

我想我或许应该尝试澄清我的问题。我有一个 UITabBar 控制器。对于其中一个选项卡,我希望它根据给定变量的值调用 UIViewController AUIViewController BUIViewController A 是使用关系视图控制器的 UITabBar 控制器的子级,但 UIViewController B 不是 UITabBarController 的子级。也许我试图以错误的方式做到这一点?

或者换一种说法,如何根据变量的值在我的 UITabBarController 中调用 2 个不同的 UIViewController 中的一个选项卡?本质上,UIView 是可互换的菜单屏幕,具体取决于用户类型。

【问题讨论】:

【参考方案1】:

我想我可能已经解决了这个问题。我的 UITabController 链接到 UINavigationController。我对 UINavigationController viewDidLoad 方法进行了子类化,然后使用 segues 加载正确的 UIViewController。

不确定我是否有这个权利 - 我不是 100% 使用 UINavigationControllers,但它有效。

-(void)viewDidLoad
[super viewDidLoad];

PFUser *currentUser = [PFUser currentUser];
NSString *userType = [currentUser valueForKey:@"UserType"];

if([userType isEqualToString:@"User"])
    [self performSegueWithIdentifier:@"userContribute" sender:self];
 else 
    [self performSegueWithIdentifier:@"bizContribute" sender:self];

【讨论】:

以上是关于UITabBar 控制器选项卡导航到不同的 UIViewControllers的主要内容,如果未能解决你的问题,请参考以下文章

将导航堆栈移动到更多选项卡

如何识别从UITabBarController中的更多选项卡或单独选项卡单击视图控制器?

带有导航的出现/消失的UITabbar

使用自定义单元格在 3 个 UITabBar 之间传输数据

如何链接到标签栏控制器中的特定标签

UITabBarController导航控制器控制器关系