通过判断是否登录跳转不同的控制器

在有些项目里面点击TabbarItem的个人主页界面时需要判断用户是否登陆,如果登陆则进入个人界面,未登录就跳转到登陆界面.那么该怎么用代码去实现呢?

    1. 自定义TabbarViewController,并加入需要是子控制器.
  • 2.TabbarViewController需要遵守UITabBarControllerDelegate
  • 3.在视图完成加载的时候设置代理self.delegate = self;
  • 3.在代理方法中对tabBarItem的title进行判断,具体如下:
-(BOOL)tabBarController:(UITabBarController *)tabBarController shouldSelectViewController:(UIViewController *)viewController{
    //如果用户ID存在的话,说明已登陆
    if ([[[NSUserDefaults standardUserDefaults] objectForKey:@"LOGINSTATE"] isEqualToString:@"true"]) {
        MyViewController *my = [[MyViewController alloc]init];
    [self addChildVC:my title:@"会员中心" image:@"我的未选中" selectedImage:@"我的选中"];
        return YES;
    }else{
        //跳到登录页面
        LoginViewController *login = [[LoginViewController alloc] init];
        //隐藏tabbar
        login.hidesBottomBarWhenPushed = YES;
        [((UINavigationController *)tabBarController.selectedViewController) pushViewController:login animated:YES];
        return NO;
    }
    }else

        return YES;
}

你可能感兴趣的:(通过判断是否登录跳转不同的控制器)