使用tabBar和导航控制器时,我遇到的问题很少。每个tabBar项都与一个单独的导航控制器相关联。问题列表如下:
1.我的tabBar中有超过五个tabBar项目,因此默认情况下会出现更多tabBar项目。现在,当我点击更多tabBar项目时,其余项目进入tableview,这实际上是导航控制器的视图(其中默认情况下来了。)当我选择任何一行时,我的新视图控制器被推入该导航控制器。我希望我的视图控制器成为导航控制器。所以有一种情况就像将导航控制器推到了另一个导航控制器。编译器感到困惑,它什么也没做。
2.虽然我设置了标签栏控制器的每个控制器的自动调整功能,但旋转设备时没有任何反应。但是当我只保留5个或更少的tabBar项目时,自动调整功能完美无缺。
3.我想在整个应用程序的顶部放置一个ImagView,所以我在窗口本身附加了一个imageview,然后增加了tabBar控制器视图的y坐标,以便每个tabBar控制器视图的导航栏从下面开始imageview。对于肖像模式,一切都很好,但是一旦我旋转设备,图像视图就会消失。当我再次进入纵向模式时,图像视图不会出现,并且tabBar控制器的视图从顶部开始。
我尝试过各种方式(比如tabBar而不是tabBar控制器等),但未能实现任何有用的功能。
答案 0 :(得分:0)
我以前从未听说过这个问题。你能粘贴一些代码吗?此外,您确定查看更多页面上的选项卡是否正常工作?
为了使TBC旋转,每个选项卡的所有根视图控制器都必须支持旋转。在每个文件中,确保shouldRotateToInterfaceOrientation:为所有方向返回YES(如果您使用默认的iPhone VC模板,请取出if(interfaceOrientation == UIInterfaceOrientationPortrait)语句和相关括号)。
我之前实际上已经这样做了,当我说你打开一堆蠕虫时,请相信我。要实现此目的,您需要将TBC添加为在顶部具有imageview的视图的子视图。您必须手动设置TBC.view框架以覆盖顶部图像。执行此操作的最佳方法是:在容器文件的.xib中,在顶部添加图像视图,在其下添加另一个视图。通过IBOutlet将视图连接到代码,并将该帧设置为TBC.view.frame。然后以编程方式将TBC.view添加为子视图。
但是,使用此解决方案,您必须添加一个willRotateToInterfaceOrientation:duration:方法,该方法在所有TBC的视图控制器中调用相同的函数,并且所有这些视图控制器必须是调用viewWillAppear:和viewDisappear:手动的导航委托。当你这样做时,旋转也有点“粘性”,所以要小心。
我的建议:不要把静态图像放在最上面。它会导致很多问题,占用大量的屏幕空间,特别是在iPhone的小屏幕上。如果你想看看它有多糟糕,请查看The Weather Channel应用程序。
如果您还有其他问题,请与我们联系!