场景描述:有 A/B/C 三个 ViewController. A View push B View,B View push C View, 要求A View 和 C View 显示 tabar, B View 隐藏 tabar.
这个问题我用了一个下午才比较满意的 fix it. 刚开始找到了 这个方法, 感觉很可行的样子,但试了很久,一直没有完全满足我这个需求,最后放弃。
最后看到这个 重写 hidesBottomBarWhenPushed 的方法 ,能完全满足需求,使用还简单:只需在需要隐藏的页面(B View)里重写 hidesBottomBarWhenPushed 属性即可,就是不知道这样写有没有什么后遗症。
- (BOOL)hidesBottomBarWhenPushed
{
return (self.navigationController.topViewController == self);
}