根据条件更改tabbarcontroller中的viewcontroller

时间:2017-03-02 12:53:29

标签: ios objective-c uitabbarcontroller

我有一个应用程序,用户可以跳过登录。在里面有一个uitabbar控制器,其中一个视图控制器在用户登录时显示用户配置文件。但是如果用户跳过登录,则单击配置文件选项卡必须显示登录屏幕。我怎样才能做到这一点。

提前致谢

1 个答案:

答案 0 :(得分:0)

请尝试使用以下code,根据需要设置BOOL variable。有关更多信息。你引用This link

BOOL isLogin;
NSMutableArray *tbViewControllers = [NSMutableArray arrayWithArray:[self.tabBarController viewControllers]];

UIViewController *message = [[MessageViewController alloc] initWithNibName:@"MessageViewController" bundle:nil] ;
[tbViewControllers addObject:message];
if(isLogin){
     UIViewController *profile = [[ProfileVC alloc] initWithNibName:@"ProfileVC" bundle:nil] ;
    [tbViewControllers addObject:profile];
}else{
    UIViewController *LoginVC = [[LoginVC alloc] initWithNibName:@"LoginVC" bundle:nil] ;
    [tbViewControllers addObject:LoginVC];
}


UIViewController *more = [[[MoreViewController alloc] initWithNibName:@"MoreViewController" bundle:nil] autorelease];
[tbViewControllers addObject:more];

[self.tabBarController setViewControllers:tbViewControllers];