我们有时候在点击tabBaritem,是需要登录判断,那我们该如何进行判断呢,好比点击购物车,我们需要用户判断登录我们要怎么判断呢这个就要用到TabBarController里的一个协议方法例如:
#pragma mark 判断是否登录若没登录跳转到登录页面
- (BOOL)tabBarController:(UITabBarController *)tabBarController shouldSelectViewController:(UIViewController *)viewController{//每次点击都会执行的方法
//点击购物车tabbarItem时进行一次判断
NSUserDefaults *userdefault =NSUserDefault;
NSString* str = [userdefaultvalueForKey:@"LoginStatu"];
if([viewController.tabBarItem.titleisEqualToString:@"购物车"]){//判断点击的tabBarItem的title是不是购物车,如果是继续执行
if([str isEqualToString:@"NotLoggedIn"]||str == nil){//当登录的时候存储一个标识,判断是否登录过,没登录执行下面代码进入登录页
[self presentViewController:[[LoginViewController alloc]init]animated:YES completion:nil];
returnNO;
}else{//当登录后直接进入购物车
returnYES;
}
}
return YES;
}