ios14 popToRootViewControllerAnimated 底部tabbar消失问题处理

解决方法是:
在UINavigationController 类重写以下方法:

  -(NSArray<__kindof UIViewController *> *)popToRootViewControllerAnimated:(BOOL)animated
   {

           if (animated) {
    
           UIViewController *popController = self.viewControllers.lastObject;
           popController.hidesBottomBarWhenPushed = NO;
          }
          return [super popToRootViewControllerAnimated:animated];
  }

在basevc 中自定义 push 方法中修改:

     - (void)dsPushViewController:(UIViewController*)vc animated:(BOOL)animated{

                   if (self.navigationController.viewControllers.count > 0) {
                    // 当前导航栏, 只有一个viewController push的时候设置隐藏
                  if (self.navigationController.viewControllers.count == 1) {
                  vc.hidesBottomBarWhenPushed = YES;
                  }
                  } else {
                 vc.hidesBottomBarWhenPushed = NO;
                 }

                [self.navigationController pushViewController:vc animated:animated];

     }
Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐