• 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];
  • 相关阅读:
    教务管理系统维护日志
    在centOS服务器上部署Discuz!
    iphone5s support.apple com/iphone/restore怎么办
    常见Java面试题
    Mac版免破解office 2011真情放送/Mac版navicat prenium 面破解
    VMware Workstation 12序列号: 5A02H-AU243-TZJ49-GTC7K-3C61N
    centos7搭建docker环境
    加密算法简介
    Hash算法简介
    empty()和size() == 0有区别吗
  • 原文地址:https://www.cnblogs.com/yipingios/p/5435044.html
Copyright © 2020-2023  润新知