UIUI--分栏控制器

一.直接初始化分栏控制器

 UITabBarController *navigationBar = [[UITabBarController alloc]init];

二.用一个比较适合多个分栏的方法去创建一个分栏控制器

1.先创建几个不同的类  可以有继承关系  也可以没有

2.具体代码

创建一个数组  数组放的是第一步创建的类名  以字符串的格式存放的

 NSArray *className = @[@"BAD_InformationViewController",@"BAD_TreasureViewController",@"BAD_MineViewController",@"BAD_MoreViewController"];

    定义一个可变数组

    NSMutableArray *classNames = [NSMutableArray array];

    用foreign循环  去遍历类名数组

    for (NSString *name in className) {

        初始化一个导航栏控制器 并且把数组里的字符串转换成类名后  并且初始化成对象来作为导航栏控制器的根控制器   重点语句

        UINavigationController *navigation = [[UINavigationController alloc]initWithRootViewController:[[NSClassFromString(name) alloc]init]];

        把所用的导航栏控制器的对象  放在可变数组里

        [classNames addObject:navigation];

        

    }

    初始化一个分栏控制器

    UITabBarController *navigationBar = [[UITabBarController alloc]init];

    把放有导航栏控制器

    navigationBar.viewControllers = classNames;

    定义数组  放的是分栏的每个栏在下边显示的名字

    NSArray *nameList = @[@"资讯",@"百宝箱",@"我的",@"更多"];

    图片数组  里面盛放的是  分栏下边的图标

    NSArray *imageList = @[@"infor@2x",@"box@2x",@"mine@2x",@"more@2x"];

    用for循环  把名字和图标都放上去

    for (int i=0; i<className.count; i++) {

        初始化一个普通的控制器对象  

        UIViewController *controller = [[UIViewController alloc]init];

        用这个对象去接收分栏控制器里的每一个栏

        controller = navigationBar.viewControllers[i];

         给每个栏赋值名字

        controller.tabBarItem.title = nameList[i];

         给每个栏赋值图标

        controller.tabBarItem.image = [UIImage imageNamed:imageList[i]];

        

    }

    设置默认选中哪一栏 

    navigationBar.selectedIndex = 1;

     设置图标显示的颜色

    navigationBar.tabBar.tintColor = [UIColor colorWithRed:1.000 green:0.188 blue:0.165 alpha:1.000];

    把分栏控制器作为窗口的根控制器

    self.window.rootViewController = navigationBar;


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值