目标C - 如何在iOS中创建具有多个选项卡的可滚动标签栏


  1. 在以编程方式中,我为下面的代码创建了动态选项卡。

NSMutableArray *dataArray=[[NSMutableArray alloc] init];

  UIStoryboard *storyboard=[UIStoryboard storyboardWithName:@"Main"
            bundle:nil];
  BasicIn *viewController1=[storyboard instantiateViewControllerWithIdentifier:@"BasicInfo"];
  viewController1.tabBarItem.image=[UIImage imageNamed:@"contactTab.png"];
  viewController1.tabBarItem.title=@"Basic Info";
  [dataArray addObject: viewController1];
  UIStoryboard *storyboard1=[UIStoryboard storyboardWithName:@"Main"
            bundle:nil];
  AddImageVC *viewController2=[storyboard1 instantiateViewControllerWithIdentifier:@"AddImageVC"];
  viewController2.tabBarItem.image=[UIImage imageNamed:@"planTab.png"];
  viewController2.tabBarItem.title=@"Images";
  [dataArray addObject:viewController2];
   UITabBarController  *myTabBarController = [[UITabBarController alloc] init];
   self.myTabBarController.viewControllers =dataArray;
   [self.view addSubview:[self.myTabBarController view]];
    UIColor *appTintColor=[UIColor colorWithRed:19.0/255 green:89.0/255 blue:234.0/255 alpha:1.0];
    [[UITabBarItem appearance] setTitleTextAttributes:@{NSFontAttributeName : [UIFont
                                                                                   fontWithName:@"HelveticaNeue-Bold" size:10.0f],
                                                            NSForegroundColorAttributeName : appTintColor
                                                            }forState:UIControlStateSelected];        

Now It`s created a normal tab bar function.you can create dynamic tabs in tab bar controller with this code, without using any 3 party framework.

不,UITabBarController不能做可滚动的标签栏。它只能处理 1-5 个柱形按钮,之后您将获得一个更多按钮作为访问其他按钮的最后一个元素。

文档说:

如果将六个或更多自定义视图控制器添加到选项卡栏 控制器,选项卡栏控制器仅显示前四个项目 加上标签栏上的标准"更多"项。

在此处阅读有关UITabBarController的更多信息

也就是说,您始终可以添加自己的自定义 UI 组件来完成这项工作。这可能并不难,具体取决于您的确切要求。

相关内容

最新更新