UITabbarController的UITabbarItem(例:"我的")点击时,判断是否登录
摘要:如果在点击UITabbarItem(例如:“我的”)时,判断用户是否已经登录了,如果还没有登录,跳转至登录页面;如果登录了,直接跳转至带有uitabbarItem的页面。
如果在点击UITabbarItem(例如:“我的”)时,判断用户是否已经登录了,如果还没有登录,跳转至登录页面;如果登录了,直接跳转至带有uitabbarItem的页面。
在添加UITabbarItem的继承自UITabbarController的实现文件(.m文件)中,实现UITabbarControllerDelegate中的方法:- (BOOL)tabBarController:(UITabBarController *)tabBarController shouldSelectViewController:(UIViewController *)viewController
具体实现,如下
- (BOOL)tabBarController:(UITabBarController *)tabBarController shouldSelectViewController:(UIViewController *)viewController { //"我的"页面的tabbarItem的下标是2, //_privateToken == nil 为判断是否登录的条件 if (viewController == tabBarController.viewControllers[2] && _privateToken == nil) { LoginViewController *loginViewController = [LoginViewController new]; UINavigationController *nav = [[UINavigationController alloc] initWithRootViewController:loginViewController]; [((UINavigationController *)tabBarController.selectedViewController) presentViewController:nav animated:YES completion:nil]; return NO; } else { return YES; } }
在登录成功之后,实现如下方法,可实现跳回主界面
AppDelegate *appDelegate = [[UIApplication sharedApplication] delegate]; appDelegate.window.rootViewController = [MainViewController new];