UITabBar 控制器选项卡导航到不同的 UIViewControllers
UITabBar Controller tab to navigate to different UIViewControllers
我有一个 UITabBar 控制器,在 IB 中使用 Relationship-viewControllers 创建了 6 个选项卡。我希望其中一个选项卡能够根据一组条件以编程方式调用两个不同的 UIViewController 之一。
这可能吗?如果可以,我应该在哪里实现代码?
编辑
我想我也许应该尝试澄清我的问题。我有一个 UITabBar 控制器。对于其中一个选项卡,我希望它根据给定变量的值调用 UIViewController A 或 UIViewController B 。 UIViewController A 是使用 Relationship-viewControllers 的 UITabBar 控制器的子级,但 UIViewController B 不是 UITabBarController 的子级。也许我试图以错误的方式做到这一点?
或者换句话说,我怎样才能让我的 UITabBarController 中的单个选项卡根据变量的值调用 2 个不同的 UIViewControllers 之一?本质上,UIView 是可互换的菜单屏幕,具体取决于用户类型。
我想我可能已经解决了这个问题。我的 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 控制器,在 IB 中使用 Relationship-viewControllers 创建了 6 个选项卡。我希望其中一个选项卡能够根据一组条件以编程方式调用两个不同的 UIViewController 之一。
这可能吗?如果可以,我应该在哪里实现代码?
编辑
我想我也许应该尝试澄清我的问题。我有一个 UITabBar 控制器。对于其中一个选项卡,我希望它根据给定变量的值调用 UIViewController A 或 UIViewController B 。 UIViewController A 是使用 Relationship-viewControllers 的 UITabBar 控制器的子级,但 UIViewController B 不是 UITabBarController 的子级。也许我试图以错误的方式做到这一点?
或者换句话说,我怎样才能让我的 UITabBarController 中的单个选项卡根据变量的值调用 2 个不同的 UIViewControllers 之一?本质上,UIView 是可互换的菜单屏幕,具体取决于用户类型。
我想我可能已经解决了这个问题。我的 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];
}
}