对于不耐烦tabbarcontroller一个navigationcontroller:iPad应用程序的行为:用更多的标签
我想有一个navigationcontroller谁的根视图控制器是一个tabbarcontroller,类似iPad的应用程序。我正在使用IOS 5和故事板。
对于倾斜的读数:
以我的故事板我有在被在一个UINavigationController内嵌一个的UITabBarController 6个标签,给它一个“更多”按钮被示出3个标签之后。
这样做让我两个导航栏当按下更多:
于是我继承TabBarController:
//@implentation MyTabController
- (void)viewDidLoad
{
self.moreNavigationController.wantsFullScreenLayout = NO;
self.delegate = self;
}
- (void)tabBarController:(UITabBarController *)tabBarController didSelectViewController:(UIViewController *)viewController
{
// hide nav bar if current controller is "More" controller
self.navigationController.navigationBarHidden =
viewController == self.moreNavigationController;
}
大,这给了我:
我的猜测是,我需要重新布局,以占据了状态栏的意见,所以我尽量
[self.view setNeedsLayout:YES];
,但我得到一个错误说的UIView不包含选择器,用于setNeedsLayout所以... 如何获得moreNavigationController.navigationBar来说明状态栏?
更新:
我有第二个相关的问题与此。当我点击“编辑”按钮编辑控制器模式显示。其导航栏显示下的受保控制器(动画之后),并且未收到触摸。
所以TabBarController被推入NavigatorController?如果是这种情况,那么不建议,应该为每个tabBar View控制器设置一个NavigatorController,并将TabBarController设置为主窗口根视图控制器。如果情况并非如此,我不知道发生了什么事情:P。 – Raspu 2012-06-14 16:41:24
@Raspu这将解决我的大部分问题,但后退按钮呢?因为要这样做,我会以模态方式呈现标签栏,即使我向每个导航控制器添加了后退按钮,也不会有<__ |形状。 – 2012-06-14 17:57:32
所以你想在显示tabbar之前能够回到屏幕?一个解决方案是将所有的导航控制器都放入先前的视图控制器,然后是你想要显示的那个(这样所有的导航栏都有后退按钮)。另外,你可以设置hidesBottomBarWhenPushed = YES到第一个视图控制器,这样它就不会显示tabBar。 – Raspu 2012-06-14 18:09:27