修改RTRootNavigationController统一控制hidesBottomBarWhenPushed

修改RTRootNavigationController.m

- (void)pushViewController:(UIViewController *)viewController
                  animated:(BOOL)animated
{
    if (viewController == nil) {
        if (self.animationBlock) {
            self.animationBlock(YES);
            self.animationBlock = nil;
        }
        return;
    }

    if (self.viewControllers.count > 0) {
        viewController.hidesBottomBarWhenPushed = self.hidesBottomBarWhenPushed;//新增
        UIViewController *currentLast = RTSafeUnwrapViewController(self.viewControllers.lastObject);
        [super pushViewController:RTSafeWrapViewController(viewController,
                                                           viewController.rt_navigationBarClass,
                                                           self.useSystemBackBarButtonItem,
                                                           currentLast.navigationItem.backBarButtonItem,
                                                           currentLast.navigationItem.title ?: currentLast.title)
                         animated:animated];
    }
    else {
        [super pushViewController:RTSafeWrapViewController(viewController, viewController.rt_navigationBarClass)
                         animated:animated];
    }
}

使用 BaseViewController

self.rt_navigationController.hidesBottomBarWhenPushed = YES;
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容