解决的需求:
在点击tabbarItem的时候判断用户是否处于登录状态,如果未登录则跳转登录页面,如果已登录则直接进入。
1.首先设置UITabBarController的代理为app delegate如下:tabBar.delegate = self;
2.然后在appdelegate设置代理
3.实现代理里面的- (BOOL)tabBarController:(UITabBarController *)tabBarController shouldSelectViewController:(UIViewController *)viewController方法
- (BOOL)tabBarController:(UITabBarController *)tabBarController shouldSelectViewController:(UIViewController *)viewController{
if ([viewController.tabBarItem.titleisEqualToString:@"我的"]) {
//如果用户ID存在的话,说明已登陆
if ([CCPUserInfo sharedUserInfo].uid.length == 0) {
return YES;
}else{
//跳到登录页面 CCPLoginVC
CCPLoginVC *login = [[CCPLoginVCalloc] init];
//隐藏tabbar
login.hidesBottomBarWhenPushed =YES;
[((UINavigationController *)tabBarController.selectedViewController)pushViewController:login animated:YES];
returnNO;
}
}else {
return YES;
}
return YES;
}