读书人

NavigationController加TabBarControl

发布时间: 2012-03-20 14:01:11 作者: rapoo

NavigationController加TabBarController,TabBarController再嵌套NavigationController问题
问题具体是这样的: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的时候的图片如下:


[解决办法]
个人觉得是坐标问题

可以在第二个 UIview里面 的XIB文件里面设置下 header和“底部”试试

还有,试试设置下 navigation 控件的坐标。比如:viewwilappeare 那里设置下IBout navigation的坐标


你把根目录的设置隐藏,并不代表它已经消失了,这是个问题。。。试试看,把第二个uiVIEW的相对坐标 弄高-40,看看能不能覆盖掉 根目录的navigation。。

读书人网 >Iphone

热点推荐