首先設置UITabBarController的代理為appdelegate如下:myTabBar.delegate = self;
然后在interface后面寫上代理<UITabBarControllerDelegate>
實現代理里面的- (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;}//禁止tab多次點擊-(BOOL)tabBarController:(UITabBarController *)tabBarController shouldSelectViewController:(UIViewController *)viewController{ UIViewController *tbselect=tabBarController.selectedViewController; if([tbselect isEqual:viewController]){ return NO; } return YES;}新聞熱點
疑難解答