項目裏面在點擊tabbarItem的時候須要判斷是不是登陸狀態,若是未登陸直接跳轉登陸頁面,若是已登陸則直接進入。app
首先設置UITabBarController的代理爲appdelegate以下:myTabBar.delegate = self;ide
而後在interface後面寫上代理<UITabBarControllerDelegate>spa
實現代理裏面的- (BOOL)tabBarController:(UITabBarController *)tabBarController shouldSelectViewController:(UIViewController *)viewController方法便可代理
- (BOOL)tabBarController:(UITabBarController *)tabBarController shouldSelectViewController:(UIViewController *)viewController { NSLog(@"--tabbaritem.title--%@",viewController.tabBarItem.title); //這裏我判斷的是當前點擊的tabBarItem的標題 if ([viewController.tabBarItem.title isEqualToString:@"我的"]) { //若是用戶ID存在的話,說明已登錄 if (USER_ID) { return YES; } else { //跳到登陸頁面 HPLoginViewController *login = [[HPLoginViewController alloc] init]; //隱藏tabbar login.hidesBottomBarWhenPushed = YES; [((UINavigationController *)tabBarController.selectedViewController) pushViewController:login animated:YES]; return NO; } } else return YES; }