如何删除"更多"标签栏控制器中的选项没有ios中的删除标签

时间:2014-04-29 06:15:37

标签: ios iphone ios7 uitabbarcontroller

我正在使用标签栏控制器,当我在显示4个标签后运行应用程序时我有6个标签,并且有更多选项但是在这里我想显示所有标签不想在ios 7中显示“更多”代码是:

    UIViewController *viewController1 = [[ViewController alloc]initWithNibName:@"ViewController" bundle:nil];

    Calendar *viewController2 = [[Calendar alloc] initWithNibName:@"Calendar" bundle:nil];

    nearby *viewController3 = [[nearby alloc] initWithNibName:@"nearby" bundle:nil];
    offer *viewController4 = [[offer alloc] initWithNibName:@"offer" bundle:nil];
    social *viewController5 = [[social alloc] initWithNibName:@"social" bundle:nil];
    contact *viewController6 = [[contact alloc] initWithNibName:@"contact" bundle:nil];



    UINavigationController *navController = [[UINavigationController alloc] initWithRootViewController:viewController1];
    UINavigationController *navController1 = [[UINavigationController alloc] initWithRootViewController:viewController2];
    UINavigationController *navController2 = [[UINavigationController alloc] initWithRootViewController:viewController3];
    UINavigationController *navController3 = [[UINavigationController alloc] initWithRootViewController:viewController4];



    self.tab = [[UITabBarController alloc] init];

    self.tab.viewControllers = [NSArray arrayWithObjects:navController, navController1,navController2,navController3,viewController5,viewController6, nil];
    [[self.tab tabBar] setBackgroundImage:[UIImage imageNamed:@"tabcrop.png"]];
  self.tab.customizableViewControllers = nil;
    [[[self.tab moreNavigationController] visibleViewController] setTitle:@""];

    [self.tab.tabBar setTranslucent:YES];
    [[UITabBarItem appearance] setTitleTextAttributes:[NSDictionary dictionaryWithObjectsAndKeys:
                                                       [UIFont fontWithName:@"AmericanTypewriter" size:10.0f], UITextAttributeFont,
                                                       [UIColor yellowColor], UITextAttributeTextColor,
                                                       [UIColor redColor], UITextAttributeTextShadowColor,
                                                       [NSValue valueWithUIOffset:UIOffsetMake(0.0f, 1.0f)], UITextAttributeTextShadowOffset,
                                                       nil] forState:UIControlStateSelected];
    self.window.rootViewController = self.tab;

`

1 个答案:

答案 0 :(得分:3)

根据苹果公司的文档,这是不可能的:https://developer.apple.com/library/ios/documentation/WindowsViews/Conceptual/ViewControllerCatalog/Chapters/TabBarControllers.html

这就是它所说的:

  

如果向viewControllers属性添加五个以上的项目,则选项卡栏控制器会自动插入一个特殊的视图控制器   (称为更多视图控制器)来处理显示   其他物品。更多视图控制器提供自定义界面   列出表中的其他视图控制器,可以   展开以容纳任意数量的视图控制器。更多视图   控制器无法自定义或选择,也不会出现在任何控制器中   由标签栏控制器管理的视图控制器列表。它   在需要时自动显示并与您的分开   自定义内容。

所以尝试自定义标签栏试试这个: https://github.com/Marxon13/M13InfiniteTabBar