IOS - 第5和第6个tabBar选项

时间:2012-06-12 10:33:08

标签: ios uinavigationcontroller uitabbarcontroller

在我的tabBar应用程序中,我在视图顶部有一个导航栏。但是我有超过4个tabBars,因此TableView可以选择其他选项。

如果最终用户决定更改订单,是否有隐藏前4个视图的导航?

我有点想这样的事情,但是这段代码中的if语句不对。

    if([[self.tabBarController viewControllers] objectAtIndex:5])
{
    [_navBar setHidden:YES];
}
else {
    [_navBar setHidden:NO];
}

3 个答案:

答案 0 :(得分:0)

如果您担心用户重新订购标签,您可能会接受的另一个选择是创建自定义的MoreViewController(并且没有重新排序)。请参阅this SO回答。

答案 1 :(得分:0)

更改TabBar中视图的顺序后,您应该隐藏这样的导航栏

[self.tabBarController.viewControllers 
   enumerateObjectsUsingBlock:^(id obj, NSUInteger index, BOOL *stop)
{
    if (index < 4)
    {
       UIViewController *vc = (UIViewController *)obj;
       [vc.navigationController setNavigationBarHidden:YES];
    }

}];

答案 2 :(得分:0)

您应该在自定义对象中实现-tabBarController:didEndCustomizingViewControllers:changed:UITabBarControllerDelegate协议的方法,并将其设置为UITabBarController的委托。在此处阅读:http://developer.apple.com/library/ios/#DOCUMENTATION/UIKit/Reference/UITabBarControllerDelegate_Protocol/Reference/Reference.html#//apple_ref/occ/intf/UITabBarControllerDelegate