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];

 

posted on 2016-04-26 14:36  快乐加油站789  阅读(344)  评论(0编辑  收藏  举报

导航