• 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];
  • 相关阅读:
    ThinkPHP运算符 与 SQL运算符 对比表
    [Java 8] (6) Lambda与资源管理
    Codeforces Round #275 (Div. 2) C
    HOJ 2245 浮游三角胞(数学啊 )
    [UVALive 6663 Count the Regions] (dfs + 离散化)
    浅解ARC中的 __bridge、__bridge_retained和__bridge_transfer
    SpringMVC: web.xml中声明DispatcherServlet时一定要加入load-on-startup标签
    Unity3d 4.3.4f1执行项目
    更新Windows ActiveX,Ios
    C++11: final与override
  • 原文地址:https://www.cnblogs.com/yipingios/p/5435044.html
Copyright © 2020-2023  润新知