- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{ self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
//初始化 tabBarItem对应的ViewController
UIViewController *viewCtrl1 = [[UIViewController alloc] init];
viewCtrl1.title = @"first viewctrl";
viewCtrl1.tabBarItem = [[UITabBarItem alloc] initWithTitle:@"rename first" image:nil tag:];//自己定义tabBarItem是在对应的ViewController中去做
viewCtrl1.view.backgroundColor = [UIColor blueColor]; UIViewController *viewCtrl2 = [[UIViewController alloc] init];
viewCtrl2.title = @"second viewctrl";
viewCtrl2.view.backgroundColor = [UIColor yellowColor];
viewCtrl2.tabBarItem.badgeValue = @""; UIViewController *viewCtrl3 = [[UIViewController alloc] init];
viewCtrl3.title = @"3 viewctrl";
viewCtrl3.view.backgroundColor = [UIColor colorWithRed:0.1 green:0.2 blue:0.3 alpha:1.0]; UIViewController *viewCtrl4 = [[UIViewController alloc] init];
viewCtrl4.title = @"4 viewctrl";
viewCtrl4.view.backgroundColor = [UIColor colorWithRed:0.1 green:0.5 blue:0.3 alpha:1.0]; UIViewController *viewCtrl5 = [[UIViewController alloc] init];
viewCtrl5.title = @"5 viewctrl";
viewCtrl5.view.backgroundColor = [UIColor colorWithRed:0.1 green:0.5 blue:0.7 alpha:1.0]; UIViewController *viewCtrl6 = [[UIViewController alloc] init];
viewCtrl6.title = @"6 viewctrl";
viewCtrl6.view.backgroundColor = [UIColor colorWithRed:0.6 green:0.5 blue:0.7 alpha:1.0]; UIViewController *viewCtrl7 = [[UIViewController alloc] init];
viewCtrl7.title = @"7 viewctrl";
viewCtrl7.view.backgroundColor = [UIColor colorWithRed:0.9 green:0.5 blue:0.3 alpha:1.0]; //
tabBarCtrl = [[UITabBarController alloc] init];
tabBarCtrl.viewControllers = [NSArray arrayWithObjects:viewCtrl1, viewCtrl2 ,viewCtrl5, viewCtrl3, viewCtrl4, viewCtrl6, viewCtrl7, nil];//添加viewcontrollers, 数组顺序就是tabBarItem对应的viewController顺序
tabBarCtrl.customizableViewControllers = [NSArray arrayWithObjects: viewCtrl2 ,viewCtrl3, viewCtrl5, viewCtrl7, nil]; //显示可编辑的有那些viewcontroller [tabBarCtrl setSelectedIndex: ];//设置选中的是那个tabBarItem,如果为无效的index,则默认选中第一个 tabBarCtrl.view.frame = CGRectMake(, , self.window.frame.size.width, self.window.frame.size.height);
self.window.rootViewController = tabBarCtrl; [self.window makeKeyAndVisible]; return YES; } 关于旋转 UITabBarController默认只支持竖屏,当设备方向放生变化时候,它会查询viewControllers中包含的所有ViewController,仅当所有的viewController都支持该方向时,UITabBarController才会发生旋转,否则默认的竖向。UITabBarController支持旋转,而且发生旋转的时候,只有当前显示的viewController会接收到旋转的消息。 关于 UITabBarControllerDelegate 委托 //设置用户是否可以选中,如果返回NO,用户不能选中,但代码中还可以用tabBarCtrl setSelectedIndex: 3]选中
- (BOOL)tabBarController:(UITabBarController *)tabBarController shouldSelectViewController:(UIViewController *)viewController;
{
    return YES;
}
//选中后的消息响应
- (void)tabBarController:(UITabBarController *)tabBarController didSelectViewController:(UIViewController *)viewController
{
} more 中edit监测 - (void)tabBarController:(UITabBarController *)tabBarController willBeginCustomizingViewControllers:(NSArray *)viewControllers; - (void)tabBarController:(UITabBarController *)tabBarController willEndCustomizingViewControllers:(NSArray *)viewControllers changed:(BOOL)changed; - (void)tabBarController:(UITabBarController *)tabBarController didEndCustomizingViewControllers:(NSArray *)viewControllers changed:(BOOL)changed;

UITabBarController 笔记(一)AppDelegate中加UITabBarController 为 rootViewController的更多相关文章

  1. UITabBarController 笔记(二) ViewController中加UITabBarController

    新建一个简单视图iOS工程,在ViewController的viewDidLoad中代码如下 - (void)viewDidLoad { [super viewDidLoad]; // Do any ...

  2. easyui学习笔记8—在手风琴中加载其他的页面

    在手风琴中加载其他页面和在表格中加载其他的页面有写类似的,就是请求另外一个页面显示数据. 1.先看看引用的资源文件 <link rel="stylesheet" href=& ...

  3. 从头开始学JavaScript 笔记(一)——基础中的基础

    原文:从头开始学JavaScript 笔记(一)--基础中的基础 概要:javascript的组成. 各个组成部分的作用 . 一.javascript的组成   javascript   ECMASc ...

  4. [置顶] iOS学习笔记47——图片异步加载之EGOImageLoading

    上次在<iOS学习笔记46——图片异步加载之SDWebImage>中介绍过一个开源的图片异步加载库,今天来介绍另外一个功能类似的EGOImageLoading,看名字知道,之前的一篇学习笔 ...

  5. Android笔记之使用Glide加载网络图片、下载图片

    Glide简介 不想说太多,真的很方便:P)可以节省我不少时间 GitHub地址:https://github.com/bumptech/glide 加载网络图片到ImageView Glide.wi ...

  6. 并发编程学习笔记(4)----jdk5中提供的原子类及Lock使用及原理

    (1)jdk中原子类的使用: jdk5中提供了很多原子类,它会使变量的操作变成原子性的. 原子性:原子性指的是一个操作是不可中断的,即使是在多个线程一起操作的情况下,一个操作一旦开始,就不会被其他线程 ...

  7. iOS Interface Builder:在.xib文件中加载另一个.xib文件

    在开发中,经常会用到一个需要重复使用的模块,比如好友列表中每个用户的展示或每条动态,这些都是相同的模版,这样我们就可以把这个部分提取出来放到一个单独的.xib中.那么提取出的.xib如何在其他.xib ...

  8. a 标签中加 onclick事件,根据事件中的校验情况来决定是否执行a标签的链接

    a 标签中加 onclick方法后,先执行onclick方法,在去执行a标签href下属性对应的动作,如果不想执行href属性下动作需要用false作为返回值. <a href="ht ...

  9. ios UIWebView 在开发中加载文件

    UIWebView 在实际应用中加载文件的时候,有两种情况, 1. 实行在线预览 , 2. 下载到本地,再查看 如果是第一种情况: NSURL *url = [NSURL URLWithString: ...

随机推荐

  1. openjpa框架入门_openbooks项目Overview(四)

  2. 如何把Python2的代码转换为Python3的代码

    如何把Python2的代码转换为Python3的代码 注: 如果对于python2和python3不熟悉的,可以参考: [整理]总结Python2(Python 2.x版本)和Python3(Pyth ...

  3. linux之SQL语句简明教程---UPDATE DELETE FROM

    我们有时候可能会需要修改表格中的资料.在这个时候,我们就需要用到 UPDATE 指令.这个指令的语法是: UPDATE "表格名" SET "栏位1" = [新 ...

  4. 判图的连通性(dfs,并查集)

    一.无向图 欧拉回路:每个顶点度数都是偶数 欧拉路:所有点度数为偶数,或者只有2个点度数为奇数 当然判连通性 hdu 1878 欧拉回路 两种判连通的方法 dfs #include <iostr ...

  5. Spring Http Invoker

    配置例如以下: ①web.xml配置 <servlet> <servlet-name>remote</servlet-name> <servlet-class ...

  6. JavaScript判断图片是否加载完成

    一.load事件 <!DOCTYPE HTML><html> <head>     <meta charset="utf-8">   ...

  7. DOM事件对象

    触发DOM上的事件时会产生一个事件对象event. event的内容:与事件有关的信息,导致事件的元素,事件的类型及其他与特定事件相关的信息. event对象会传入到事件处理程序中. 一.DOM 中的 ...

  8. UVA 11212 Editing a Book

    题意: 有一篇由n个自然段组成的文章.希望将他们排成递增序列.只能剪贴和粘贴交替进行,剪贴时可以剪贴一段连续的自然段. 分析: 用IDA*算法求解.当3*d+h>maxd时剪枝. 代码: #in ...

  9. Mvc5+Entity Framework6 之二----在MVC中用Entity Framework实现基本的CRUD

    目标:创建控制器和视图的代码,实现CRUD(创建,读取,更新,删除)功能 创建一个详细信息页 控制器为Students的Index页生成的代码排除Enrollments属性在外,因为该属性中关联着一个 ...

  10. satellite-menu和ArcMenu

    github上的开源库其实还是很不错的,之前的时候总感觉学一些开源库比较麻烦,里边有好多方法什么的,今天终于迈出了第一步,中间也遇到了一些问题,现在总结下,也给其他刚开始学习开源库的小伙伴一些指导: ...