博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
标签控制器原理
阅读量:7000 次
发布时间:2019-06-27

本文共 2386 字,大约阅读时间需要 7 分钟。

hot3.png

#import "AppDelegate.h"

#import "FirstViewController.h"

#import "SecondViewController.h"

#import "ThirdViewController.h"

#import "ForthViewController.h"

#import "FifthViewController.h"

#import "SixthViewController.h"

#import "FJNavigationController.h"

AppDelegate ()

@implementation AppDelegate

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {

     _window = [[UIWindow alloc]initWithFrame:[UIScreen mainScreen].bounds];

    [_window setBackgroundColor:[UIColor whiteColor]];

     [_window makeKeyAndVisible];

    

#pragma mark -标签栏控制器

    

    //====================================

    //标签栏控制器:也是一种容器类视图控制器,专门用来管理视图控制器

    //管理的视图控制器之间是平级的;

    

    //使用的时候要注意:一般会使用标签栏控制器去管理导航控制器,

    //但是不会使用导航控制器去管理标签栏控制器;

    //导航控制器不可以管理导航控制器;

    

   //1.创建标签栏控制器的对象]

    //UITabBarController UIViewController

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

    

    //2.创建需要使用标签栏控制器需要管理的视图控制器对象

    FirstViewController *first = [[FirstViewController alloc]init];

    first.title = @"达令";

    FJNavigationController *nav1 = [[FJNavigationController alloc]initWithRootViewController:first];

    

    SecondViewController *second = [[SecondViewController alloc]init];

    second.title = @"分类";

    FJNavigationController *nav2 = [[FJNavigationController alloc]initWithRootViewController:second];

    

    

    ThirdViewController *third = [[ThirdViewController alloc]init];

    third.title = @"约惠";

    FJNavigationController *nav3 = [[FJNavigationController alloc]initWithRootViewController:third];

    

    ForthViewController *forth = [[ForthViewController alloc]init];

    forth.title = @"达令帮";

    FJNavigationController *nav4 = [[FJNavigationController alloc]initWithRootViewController:forth];

    

    

    FifthViewController *fifth = [[FifthViewController alloc]init];

    fifth.title = @"我的";

    FJNavigationController *nav5 = [[FJNavigationController alloc]initWithRootViewController:fifth];

  

    

    //如果viewControllers的数组元素不超过五个,标签栏控制器会给

    //viewControllers的数组元素创建对应的标签,均匀的分布在tabBar;

    //如果超过五个,那么标签栏控制器会给前四个创建对应的标签,剩余的

    //部分会放到一个tableViewController,并且创建一个"more"标签

    //在实际开发过程中一般不会超过五个;

    //3.将视图控制器对象交给标签栏控制器去管理

   //    tabBarcController.viewControllers = @[first,second,third,forth,fifth];

    

    tabBarcController.viewControllers = @[nav1,nav2,nav3,nav4,nav5];

    

    

    //4.设置选中的标签;(默认是0)

    //(可以获取也可以修改当前选中的下标的值);

    tabBarcController.selectedIndex = 2;

    

    

    

    

    

    //4.将标签栏控制器作为window的根视图控制器;

    _window.rootViewController = tabBarcController;

    

    

    

    

    

    

    return YES;

}

@end

转载于:https://my.oschina.net/luhoney/blog/661387

你可能感兴趣的文章
NewLife.Redis基础教程
查看>>
BlockingQueue(阻塞队列)详解
查看>>
Hystrix快速入门
查看>>
十大励志电影
查看>>
在Sql语句中使用正则表达式来查找你所要的字符
查看>>
18种最实用的网站推广方法大全
查看>>
浅谈C/C++中的typedef和#define
查看>>
浅谈C/C++中的指针和数组(一)
查看>>
这该死的数字化生活
查看>>
matlab练习程序(圆柱投影)
查看>>
需要谨记的产品设计原则
查看>>
checkbox实现单选多选
查看>>
billing是如何的拆分的?
查看>>
Lua 迭代器与closure
查看>>
mybatis_helloworld(2)_源码
查看>>
完整部署CentOS7.2+OpenStack+kvm 云平台环境(3)--为虚拟机指定固定ip
查看>>
BLE 广播数据解析
查看>>
Oracle用户密码过期和用户被锁解决方法【转】
查看>>
Android 解决Android的TextView和EditText换行问题
查看>>
CSS效果集锦(持续更新中)
查看>>