在有些项目里面点击TabbarItem的个人主页界面时需要判断用户是否登陆,如果登陆则进入个人界面,未登录就跳转到登陆界面.那么该怎么用代码去实现呢?
- 自定义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;
}
网友评论