UITabBarController 笔记(一)AppDelegate中加UITabBarController 为 rootViewController
- (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的更多相关文章
- UITabBarController 笔记(二) ViewController中加UITabBarController
新建一个简单视图iOS工程,在ViewController的viewDidLoad中代码如下 - (void)viewDidLoad { [super viewDidLoad]; // Do any ...
- easyui学习笔记8—在手风琴中加载其他的页面
在手风琴中加载其他页面和在表格中加载其他的页面有写类似的,就是请求另外一个页面显示数据. 1.先看看引用的资源文件 <link rel="stylesheet" href=& ...
- 从头开始学JavaScript 笔记(一)——基础中的基础
原文:从头开始学JavaScript 笔记(一)--基础中的基础 概要:javascript的组成. 各个组成部分的作用 . 一.javascript的组成 javascript ECMASc ...
- [置顶] iOS学习笔记47——图片异步加载之EGOImageLoading
上次在<iOS学习笔记46——图片异步加载之SDWebImage>中介绍过一个开源的图片异步加载库,今天来介绍另外一个功能类似的EGOImageLoading,看名字知道,之前的一篇学习笔 ...
- Android笔记之使用Glide加载网络图片、下载图片
Glide简介 不想说太多,真的很方便:P)可以节省我不少时间 GitHub地址:https://github.com/bumptech/glide 加载网络图片到ImageView Glide.wi ...
- 并发编程学习笔记(4)----jdk5中提供的原子类及Lock使用及原理
(1)jdk中原子类的使用: jdk5中提供了很多原子类,它会使变量的操作变成原子性的. 原子性:原子性指的是一个操作是不可中断的,即使是在多个线程一起操作的情况下,一个操作一旦开始,就不会被其他线程 ...
- iOS Interface Builder:在.xib文件中加载另一个.xib文件
在开发中,经常会用到一个需要重复使用的模块,比如好友列表中每个用户的展示或每条动态,这些都是相同的模版,这样我们就可以把这个部分提取出来放到一个单独的.xib中.那么提取出的.xib如何在其他.xib ...
- a 标签中加 onclick事件,根据事件中的校验情况来决定是否执行a标签的链接
a 标签中加 onclick方法后,先执行onclick方法,在去执行a标签href下属性对应的动作,如果不想执行href属性下动作需要用false作为返回值. <a href="ht ...
- ios UIWebView 在开发中加载文件
UIWebView 在实际应用中加载文件的时候,有两种情况, 1. 实行在线预览 , 2. 下载到本地,再查看 如果是第一种情况: NSURL *url = [NSURL URLWithString: ...
随机推荐
- Unix/Linux环境C编程入门教程(23) 字符数字那些事儿
1.atoi 包含头文件: #include <stdlib.h> 函数原型: int atoi( const char *str ); 功能:将字符串str转换成一个整数并返回结果.参数 ...
- #include <boost/scoped_ptr.hpp>
多个元素使用#include <boost/scoped_array.hpp> 单个元素使用#include <boost/scoped_ptr.hpp> 作用域指针 它独占一 ...
- poj 3185 The Water Bowls(反转)
Description The cows have a line of water bowls water bowls to be right-side-up and thus use their w ...
- JavaScript创建类的方式
一些写类工具函数或框架的写类方式本质上都是 构造函数+原型.只有理解这一点才能真正明白如何用JavaScript写出面向对象的代码,或者说组织代码的方式使用面向对象方式.当然用JS也可写出函数式的代码 ...
- 最基本MySQL命令及vi命令
1.MySQL基本命令操作 Mysql的所有命令末尾都需要以分号结束,一条命令可以分成多行书写. 连接数据库:mysql –u root –p: 查看所有数据库:show databases; 创建数 ...
- String常用方法总结
字符串的截取: 1. slice(start,end) 返回一个新的字符串,不会改变原来引用值.end省略的时候,截取的是start到字符串结尾.传入start=0或者不传入start,就是复制了整个 ...
- UVA 1569 Multiple
题意: 给定m个1位数字,要求用这些数字组成n的倍数的最小数字,如果无法组成就输出0 分析: BFS,由于n最大5000,余数最多5000,利用余数去判重,并记录下路径即可 代码: #include ...
- windows server 2008 应用程序池自动关闭 C:\Windows\system32\RpcProxy\RpcProxy.dll failed to load
Sign In Join Search IIS Home Downloads Learn Reference Solutions Blogs Forums HomeIIS.NET Forums64-b ...
- 03JS高级关于为空的变量判断
<!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <m ...
- Javascript 多物体运动——逐行分析代码,让你轻松了解运动的原理
我们先来看下之前的运动的代码,是否支持多物体运动,会出现怎么样的问题. <style type="text/css"> div { width: 100px; heig ...