简易编辑Tabbar

//**标签栏控制器的初始化

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


//设置tabBar的颜色

tabbarC.tabBar.barTintColor = [UIColor brownColor];

//设置按钮颜色

tabbarC.tabBar.tintColor = [UIColor cyanColor];

//**创建视图控制器,类似ViewController

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

c1.view.backgroundColor = [UIColor greenColor];

//**创建系统自带的UITabBarItem

UITabBarItem * c1Item = [[UITabBarItem alloc] initWithTabBarSystemItem:UITabBarSystemItemDownloads tag:0];

//另外两种种初始化方法

UITabBarItem * c2Item = [[UITabBarItem alloc] initWithTitle:@"设置" image:[UIImage imageNamed:@"tab_3"] selectedImage:selectedImage2];

UITabBarItem * c3Item = [[UITabBarItem alloc] initWithTitle:@"首页" image:[UIImage imageNamed:@"tab_0"] tag:0];

//设置右上角红色小气泡

c1Item.badgeValue = @"100";

//**创建好的item赋值给tabBarItem

c1.tabBarItem = c1Item;

//第一种方式添加子控制器

[tabbar addChildViewController:c1];

[tabbar addChildViewController:c2];

[tabbar addChildViewController:c3];

//**第二种方式添加子控制器

tabbarC.viewControllers = @[c1,c2,c3,c4,c5,c6];

//**设置主控制器

self.window.rootViewController = tabbarC;

//**更改显示先后顺序

[self.window makeKeyAndVisible];

//更改选中状态图片UIImageRenderingModeAlwaysOriginal 不做任何修改的图片

self.tabBarItem.selectedImage = [[UIImage imageNamed:@"tab_0"]imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];

Nav + Tabbar 
 
重要:
1、实现UIviewcontroller(继承于此类)的实例化
2、实现UINavigationController(继承于此类) 的实例化
3、将viewcontroller 传给navigationcontroller
4、实现UITabBarController(继承于此类) 的实例化
5、将navigationcontroller传给tabBarController
6、self.window.rootViewController

//当导航视图控制器压栈时,隐藏tabbar

vc.hidesBottomBarWhenPushed = YES;

1、简单易懂

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

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

firstVC.title = @"第一页";

UINavigationController * firstNav = [[UINavigationController alloc] initWithRootViewController:firstVC];

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

secondVC.title = @"第二页";

UINavigationController * secondNav = [[UINavigationController alloc] initWithRootViewController:secondVC];

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

thirdVC.title = @"第三页";

UINavigationController * thirdNav = [[UINavigationController alloc] initWithRootViewController:thirdVC];

tabbarVC.viewControllers = @[firstNav,secondNav,thirdNav];

tabbarVC.viewControllers = @[firstVC,secondVC,thirdVC];

self.window.rootViewController = tabbarVC;

2、for循环遍历

//以视图控制器的名字创建字符串数组

NSMutableArray * viewControllerNames = [NSMutableArray arrayWithArray:@[@"FirstViewController",@"SecondViewController",@"ThirdViewController"]];

//以视图控制器的标题创建字符串数组

NSArray * titleNames = @[@"第一页",@"第二页",@"第三页"];

//遍历viewControllerNames数组

for (NSInteger i = 0; i < viewControllerNames.count; i++) {

//获取数组中的每一项

NSString * vcName = viewControllerNames[i];//FirstViewController

//将字符串转换为Class类型,并通过Class初始化对象

UIViewController * vc = [[NSClassFromString(vcName) alloc] init];

//设置题目

vc.title = titleNames[i];

//创建导航控制器

UINavigationController * nav = [[UINavigationController alloc] initWithRootViewController:vc];

//nav替换viewControllerNames数组中的字符串

[viewControllerNames replaceObjectAtIndex:i withObject:nav];

}

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

tabbarVC.viewControllers = viewControllerNames;

self.window.rootViewController = tabbarVC;

3、自定义   

//以视图控制器的名字创建字符串数组

NSMutableArray * viewControllerNames = [NSMutableArray arrayWithArray:@[@"FirstViewController",@"SecondViewController",@"ThirdViewController"]];

//以视图控制器的标题创建字符串数组

NSArray * titleNames = @[@"第一页",@"第二页",@"第三页"];

//遍历viewControllerNames数组

for (NSInteger i = 0; i < viewControllerNames.count; i++) {

//获取数组中的每一项

NSString * vcName = viewControllerNames[i];//FirstViewController

//将字符串转换为Class类型,并通过Class初始化对象

UIViewController * vc = [[NSClassFromString(vcName) alloc] init];

//设置题目

vc.title = titleNames[i];

//创建导航控制器

UINavigationController * nav = [[UINavigationController alloc] initWithRootViewController:vc];

//nav替换viewControllerNames数组中的字符串

[viewControllerNames replaceObjectAtIndex:i withObject:nav];

}

self.viewControllers = viewControllerNames;

UITabbar的简单操作和实际应用的更多相关文章

  1. x01.MagicCube: 简单操作

    看最强大脑,发现魔方还是比较好玩的,便买了一个,对照七步还原法,居然也能成功还原. 为什么不写一个魔方程序呢?在网上找了找,略作修改,进行简单操作,还是不错的,其操作代码如下: protected o ...

  2. js简单操作Cookie

    贴一段js简单操作Cookie的代码: //获取指定名称的cookie的值 function getCookie(objName) { var arrStr = document.cookie.spl ...

  3. GitHub学习心得之 简单操作

    作者:枫雪庭 出处:http://www.cnblogs.com/FengXueTing-px/ 欢迎转载 前言 本文对Github的基本操作进行了总结, 主要基于以下文章: http://gitre ...

  4. Linq对XML的简单操作

    前两章介绍了关于Linq创建.解析SOAP格式的XML,在实际运用中,可能会对xml进行一些其它的操作,比如基础的增删该查,而操作对象首先需要获取对象,针对于DOM操作来说,Linq确实方便了不少,如 ...

  5. Linux 中 Vi 编辑器的简单操作

    Linux 中 Vi 编辑器的简单操作 Vi 编辑器一共有3种模式:命名模式(默认),尾行模式,编辑模式.3种模式彼此需要切换. 一.进入 Vi 编辑器的的命令 vi  filename //打开或新 ...

  6. python(pymysql)之mysql简单操作

    一.mysql简单介绍 说到数据库,我们大多想到的是关系型数据库,比如mysql.oracle.sqlserver等等,这些数据库软件在windows上安装都非常的方便,在Linux上如果要安装数据库 ...

  7. ZooKeeper系列3:ZooKeeper命令、命令行工具及简单操作

    问题导读1.ZooKeeper包含哪些常用命令?2.通过什么命令可以列出服务器 watch 的详细信息?3.ZooKeeper包含哪些操作?4.ZooKeeper如何创建zookeeper? 常用命令 ...

  8. ORACLE的安装与网页版创建表空间的简单操作以及PLsql的简单操作

    1.oracle的安装: 安装简单易学,在这里不做解释.下载看装包后耐心等待,注意安装目录不要有中文字符,尽量按照指定目录进行安装.安装完成后会占用有大约5g的内存. 如果要卸载oracle,需要用其 ...

  9. C#反射技术的简单操作(读取和设置类的属性)

    public class A { public int Property1 { get; set; } } static void Main(){ A aa = new A(); Type type ...

随机推荐

  1. MSDN上面测试Window的方法(很好用)

    如何:将 Windows 服务作为控制台应用程序运行 向你运行 OnStart 和 OnStop 方法的服务添加一个方法:     internal void TestStartupAndStop(s ...

  2. ImageSwitcher的应用

    在android的开发中很多时候都会用到图片的切换,我相信大家在安装完apk后,都会遇到弹出用户向导,介绍本版本apk的新功能,如果你用的是平板电脑或手机的话,可以左右滑动以切换视图,如果你用的是an ...

  3. thinkPHP 无法create,无法插入数据,提示非法数据对象

    4.thinkPHP 无法create,提示非法数据对象解决方法:不要create+add,而用 data[]= '';+add$m_r_fa_account = D('R_fa_account'); ...

  4. 为什么 Apple 开发者网站关闭是件好事?

    作者:趋势科技 Apple 的开发者中心网站在 7 月 18 日因为安全漏洞或攻击而关闭.在他们的通知里,Apple 公司表示,这起安全事件可能导致开发商的姓名.通讯地址和电子邮件地址被盗取,虽然该公 ...

  5. WinForm控件使用文章收藏整理完成

    对C# WinForm开发系列收集的控件使用方面进行整理, 加入了一些文章, 不断补充充实, 完善这方面. 基础 - 常用控件 C# WinForm开发系列 - CheckBox/Button/Lab ...

  6. 找回windows 8 中隐藏的Aero Lite主题

    在windows 8 预览版中,有一款主题Aero Lite,此主题已经不提供Aero glass的效果,还有反射模糊,但在windows 8 RTM中这个主题被隐藏了,我们在个性化里面看不到Aero ...

  7. Oracle复制表结构和表数据

    一, 复制表结构及数据 create table z_xudebiao_test as select * from v_topic v where v.adddate > to_date('20 ...

  8. js 解决原型问题的方案 : 构造器和原型的组合

    <!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8&quo ...

  9. 对于C语言中数组名是指针的理解

    我们都知道,c语言中数组名是一个指针,比如下面这段代码 #include<iostream>using namespace std;int main(){ int a[4]={1,2,3, ...

  10. PowerShell管理Exchange

    #添加Exchange管理单元get-pssnapin -registeredadd-pssnapin microsoft.exchange* #启用邮箱账号(需要域管理员权限,因为需要将某些属性写入 ...