美文网首页小问题
iOS12.1 解决视图控制器pop时跳动问题

iOS12.1 解决视图控制器pop时跳动问题

作者: ramborange | 来源:发表于2018-12-04 09:51 被阅读126次

    在iOS12.1上,Tabbar一旦设置为透明状态,就会出现在控制器pop到根控制器的时候出现tabbar跳动,目前网上解决的办法也有一些,目前来说有设置透明度为NO,和重写tabbar的,但是对于一些项目为了不必影响其他界面布局,就必须采用简单粗暴的办法:

    一下方法经测试基本上可以解决跳动问题,目测基本看不出来:
    - (UIViewController *)popViewControllerAnimated:(BOOL)animated {
        [super popViewControllerAnimated:animated];
        DLog(@"\n\n  --- Base NavigationController Poped! --- \n\n");
        
        //iOS 12.1 Tabbar跳动问题
        if ([[[UIDevice currentDevice] systemVersion] doubleValue] >= 12.1) {
            NSInteger viewcontrollersCount = self.viewControllers.count;
            DLog(@"\n\n  [  -- %ld -- ] \n\n",viewcontrollersCount);
            if (viewcontrollersCount==1) {//返回根视图控制器才显示tabbar(可以根据具体情况)
                JFTabBarViewController *tab = RooT_APPViewController;
                tab.tabBar.hidden = YES;
                dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(0.2 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
                    tab.tabBar.hidden = NO;
                });
            }
        }
        
        return self.topViewController;
    }
    

    原理非常简单,pop的时候先判断如果是iOS12.1,先隐藏,0.2秒后再显示,完美解决!

    相关文章

      网友评论

        本文标题:iOS12.1 解决视图控制器pop时跳动问题

        本文链接:https://www.haomeiwen.com/subject/uwopcqtx.html