解决RN0.44版本tabBarIOS不能隐藏的问题

来源:互联网 发布:程序员猝死率多少 编辑:程序博客网 时间:2024/06/07 12:55

1.首先找到RN项目依赖库文件RCTNavigator.m

2.追加NavigationController代理方法

3.追加方法如下:

- (void)navigationController:(UINavigationController *)navigationController didShowViewController:(UIViewController *)viewController animated:(BOOL)animated
{
    //解决tabBarController进入子界面不能隐藏的问题
    RCTWrapperViewController * thisController = (RCTWrapperViewController *)viewController;
    if (navigationController.viewControllers.count > 1) {
      thisController.tabBarController.tabBar.hidden = YES;
    } else {
      thisController.tabBarController.tabBar.hidden = NO;
    }
}

4.其他使用方法不变

唯一缺点就是不能及时显示或者隐藏因为使用的didShowViewController。之所以不在willShowViewController方法里面加逻辑的原因就是,willShowViewController在push到子界面通过手势返回且取消返回时也会被触发,就会导致tabBar再次出现。

阅读全文
0 0
原创粉丝点击