核心的属性是
self.hidesBottomBarWhenPushed = YES;
但在tabbarcontroller的childcontroller,(如HomeController)仅设置self.hidesBottomBarWhenPushed = YES;
是不够的,pop返回时,tabbar不显现。你需要在controller的didDisappear中设置self.hidesBottomBarWhenPushed = NO;
其原理是,当controller push 或present时隐藏tabbar,此时已经跳转到另一个界面,然后会在didDisappear中重置hidesBottomBarWhenPushed
使其在pop或dismiss时tabbar不会隐藏,为了方便起见为tabbarController的childViewControllr创建一个父类,在其viewDidAppear中self.hidesBottomBarWhenPushed = NO;