问题具体是这样的:window里面使用一个UINavigationController作为rootViewController,然后这个根UINavigationController里面放了一个UITabBarController,TabBarController的第一个tabBarItem是一个普通的UIViewController,然后第二个tabBarItem里面放的是一个用UIViewController初始化的UINavigationController,这样在切换到第二个tabBarItem的时候就会显示两个navigationBar,一个是根NavigationController的一个是子NavigationController的。
现在想实现的效果是在切换到第二个tabBarItem的时候,隐藏掉根 NavigationController的navigationBar,而只显示子NavigationController的navigationBar。
我的具体做法是这样的,我在用作实始化子NavigationController的UIViewController里的,viewWillAppear里面使用方法
[self.tabBarController.navigationController setNavigationBarHidden:YES];,结果在切换到第二个item的时候是实现了隐藏,但是出现的效果是:启动应用的时候,第一次切换到第二个tabBarItem的时候,子NavigationController的navigationBar会向上偏移一个StatusBar的高度,就是上面显示电池电量的那个StatusBar。仅仅是启动应用后第一次切换到第二个tabBarItem会出现这样的情况,后面切换到第一个item再切换回第二个item就不会了,这个是什么原因呢???
求高手指点!!!急~!
上个图吧,第一次切换到第二个tabBarItem的时候的图片如下: