码迷,mamicode.com
首页 > 移动开发 > 详细

App开发 对生命周期的处理

时间:2018-01-02 18:48:40      阅读:176      评论:0      收藏:0      [点我收藏+]

标签:reg   skin   and   nbsp   后台   win   gpo   normal   har   

//获取到当前所在的视图

- (UIViewController *)presentingVC:(UIApplication *)application{

    UIWindow * window = application.keyWindow;

    if (window.windowLevel != UIWindowLevelNormal){

        NSArray *windows = [[UIApplication sharedApplication] windows];

        for(UIWindow * tmpWin in windows){

            if (tmpWin.windowLevel == UIWindowLevelNormal){

                window = tmpWin;

                break;

            }

        }

    }

    UIViewController *result = window.rootViewController;

    while (result.presentedViewController) {

        result = result.presentedViewController;

    }

    if ([result isKindOfClass:[MYTabBarViewController class]]) {

        result = [(MYTabBarViewController *)result selectedViewController];

    }

    if ([result isKindOfClass:[UINavigationController class]]) {

        result = [(UINavigationController *)result topViewController];

    }

    return result;

}

#p --当应用程序退出后台进行的操作 

- (void)applicationDidEnterBackground:(UIApplication *)application {

    //进入后台执行的操作

    UIViewController *viewC = [self presentingVC:application];

    NSLog(@"viewC==%@",[viewC class]);

    if ([viewC class]== [LoginViewController class]) {

        [[NSUserDefaults standardUserDefaults] setObject:@"1" forKey:@"root"];

    }else{

        [[NSUserDefaults standardUserDefaults] setObject:@"0" forKey:@"root"];

        //[self goBackForViewController];

    }

}

#p --应用程序进入后台再进入前台进行的操作

- (void)applicationWillEnterForeground:(UIApplication *)application {

    //进入前台执行的操作---原生页面

    if ([[[NSUserDefaults standardUserDefaults] objectForKey:@"root"] isEqualToString:@"0"]) {

       //进入原生页面的不作处理

        [self goBackForViewController];

    }

    //如果停留在H5页面,重新加载,防止session过期问题

    else{

        [self showViewControllers];

    }

 }

Documents:在iOS应用开发中使用应用周期进行相关的操作,可以很好处理应用生命周期之间的交互问题

App开发 对生命周期的处理

标签:reg   skin   and   nbsp   后台   win   gpo   normal   har   

原文地址:https://www.cnblogs.com/tryFighting/p/8178300.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!