AppDelegate:

 - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
// Override point for customization after application launch.
//1.创建窗口
self.window = [[UIWindow alloc]initWithFrame:[UIScreen mainScreen].bounds];
//设置窗口的根控制器
CYXTabBarController *tabBarVC = [[CYXTabBarController alloc]init];
self.window.rootViewController = tabBarVC;
//3.显示窗口
[self.window makeKeyAndVisible];
return YES;
}

CYXTabBarController:

@interface CYXTabBarController : UITabBarController

 - (void)viewDidLoad {
[super viewDidLoad];
// Do any additional setup after loading the view.VC //添加第一个控制器
//1.1 初始化
CYXOneViewController *oneVC = [[CYXOneViewController alloc]init];
//1.2 把oneVC添加为UINavigationController的根控制器
UINavigationController *nav1 = [[UINavigationController alloc]initWithRootViewController:oneVC];
//设置tabBar的标题
nav1.title = @"首页";
//设置导航栏背景颜色
nav1.navigationBar.barTintColor = [UIColor yellowColor];
//设置tabBar的图标
nav1.tabBarItem.image = [UIImage imageNamed:@"icon_tabbar_merchant_normal"];
//设置navigationBar的标题
oneVC.navigationItem.title = @"这是导航栏标题1";
//设置背景色
oneVC.view.backgroundColor = [UIColor whiteColor];
//1.3 把UINavigationController交给UITabBarController管理
[self addChildViewController:nav1]; //添加第二个控制器
CYXTwoViewController *twoVC = [[CYXTwoViewController alloc]init];
UINavigationController *nav2 = [[UINavigationController alloc]initWithRootViewController:twoVC];
nav2.title = @"我的";
//设置导航栏背景图片
//[nav2.navigationBar setBackgroundImage:[UIImage imageNamed:@""] forBarMetrics:UIBarMetricsDefault];
nav2.tabBarItem.image = [UIImage imageNamed:@"icon_tabbar_mine"];
twoVC.navigationItem.title = @"这是导航栏标题2";
twoVC.view.backgroundColor = [UIColor whiteColor];
[self addChildViewController:nav2]; //添加第三个控制器
CYXThreeViewController *threeVC = [[CYXThreeViewController alloc]init];
UINavigationController *nav3 = [[UINavigationController alloc]initWithRootViewController:threeVC];
nav3.title = @"开门";
nav3.tabBarItem.image = [UIImage imageNamed:@"icon_tabbar_onsite"];
threeVC.navigationItem.title = @"这是导航栏标题3";
threeVC.view.backgroundColor = [UIColor whiteColor];
[self addChildViewController:nav3]; //添加第四个控制器
CYXFourViewController *fourVC = [[CYXFourViewController alloc]init];
UINavigationController *nav4 = [[UINavigationController alloc]initWithRootViewController:fourVC];
nav4.title = @"更多";
nav4.tabBarItem.image = [UIImage imageNamed:@"icon_tabbar_misc"];
fourVC.navigationItem.title = @"这是导航栏标题4";
fourVC.view.backgroundColor = [UIColor whiteColor];
[self addChildViewController:nav4];
}

github address:https://github.com/AbelSu131/ZhuLiu

APP快速搭建框架的更多相关文章

  1. .net 企业管理系统快速搭建框架

          简言   本人在博客园注册也2年多了,一直没有写自己的博客,因为才疏学浅一直跟着园子里的大哥们学习这.net技术.一年之前跳槽到现在的公司工作,由于公司没有自己一套的开发框架,每次都要重新 ...

  2. 快速搭建一个成熟,强壮的App框架【转载】

    App框架搭建 招聘信息: iOS 研发工程师 iOS开发工程师 iOS开发实习工程师 新浪微博-Android开发工程师&iOS开发工程师 美术设计师(2D) UI设计师 cocos2dx手 ...

  3. Struts2 框架的快速搭建

    方便myEclipse 手动配置Struts2框架,写下此文,需要的朋友拿走不谢~ 一.引入JAR包 WEB工程->WebRoot->WEB-INF->lib引入Struts2对应版 ...

  4. MyEclipse8.5快速搭建SSH框架

    来源于:http://jingyan.baidu.com/article/a378c960a78125b3282830cc.html MyEclipse8.5快速搭建SSH框架 使用版本: Strut ...

  5. 脚手架快速搭建springMVC框架项目

    apid-framework脚手架快速搭建springMVC框架项目   rapid-framework介绍:   一个类似ruby on rails的java web快速开发脚手架,本着不重复发明轮 ...

  6. MUI框架开发HTML5手机APP(一)--搭建第一个手机APP

      前  言 JRedu 随着HTML5的不断发展,移动开发成为主流趋势!越来越多的公司开始选择使用HTML5开发手机APP,而随着手机硬件设备配置的不断提升,各种开发框架的不断优化,也使着H5开发的 ...

  7. 快速搭建ssm框架

    快速搭建SSM框架 因为最近有很多朋友问我自己的项目搭建的不够完善,并且经常出现一些小问题,那么今天我又整理了一下文档教大家如何快速搭建SSM框架我是用 eclipse搭建的,如果想用idear的话我 ...

  8. Electron入门笔记(一)-自己快速搭建一个app demo

    Electron学习-快速搭建app demo 作者: 狐狸家的鱼 Github: 八至 一.安装Node 1.从node官网下载 ,最好安装.msi后缀名的文件,新手可以查看安装教程进行安装. 2. ...

  9. 使用Springboot快速搭建SSM框架

    Spring Boot设计目的是用来简化Spring应用的初始搭建以及开发过程.该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置. 一.环境准备 Idea 2017 或 201 ...

随机推荐

  1. Google 翻译(中英,英中)

    网上找了好久, 终于弄好了, 免费的谷歌翻译,直接上代码,不懂留言: //翻译 app.get('/google', function (req, res, next) { var content = ...

  2. Bootstrap4响应式布局之栅格系统

    前面说了Bootstrap4的下载和简单使用,现在我们接着往下学习,Bootstrap4的响应式布局主要依靠栅格系统来实现的.面老K先来讲解一下Bootstrap4的栅格系统,让你能够更快的了解Boo ...

  3. css3之transform属性实现div不定宽高垂直水平居中

    transform的作用 transform 属性向元素应用 2D 或 3D 转换.该属性允许我们对元素进行旋转.缩放.移动或倾斜.(w3cschool) transform的兼容性 transfor ...

  4. 华为5G折叠屏幕适配

    华为5G折叠屏幕的发布,迎来新的一个设备——移动端的折叠设备华为Max;华为Max设备分辨率有以下几种 8.0,6.8,6.38,这三种场景下页面展示都是不一样的表现,需要我们在开发中注意监听屏幕变化 ...

  5. 使用ArcGIS Pro编辑在线三维服务图层

    ArcGIS Pro 从2.2版本起,提供了编辑在线三维服务图层的功能.通过该功能,我们可以直接在Pro中编辑发布的三维服务图层Web Scene Layer. 我们知道三维场景服务支持包含多种类型的 ...

  6. 语义SLAM的数据关联和语义定位(四)多目标测量概率模型

    多目标模型 这部分想讲一下Semantic Localization Via the Matrix Permanent这篇文章的多目标测量概率模型.考虑到实际情况中,目标检测算法从单张图像中可能检测出 ...

  7. ListView 添加 HeaderView常见错误

    1.addHeaderView异常: 最近在做通讯录开发时使用ListView,发现一个奇怪的问题:当添加一个ImageView 作为HeaderView时,发现ImageView长宽始终是1:1的大 ...

  8. MySQL——优化ORDER BY语句

    本篇文章我们将了解ORDER BY语句的优化,在此之前,你需要对索引有基本的了解,不了解的朋友们可以先看一下我之前写过的索引相关文章.现在让我们开始吧. MySQL中的两种排序方式 1.通过有序索引顺 ...

  9. Python Django框架笔记(三):django工作方式简单说明和创建用户界面

    (一)  说明 简单说明下django的工作方式,并举2个例子. (二)  Django工作方式 假定我们有下面这些文件 ,这里在前2篇的基础上增加了 templates目录(存放html文件) 和s ...

  10. linux安装activemq

    ActiveMQ是由Apache出品的,一款最流行的,能力强劲的开源消息总线.ActiveMQ是一个完全支持JMS1.1和J2EE 1.4规范的 JMS Provider实现,它非常快速,支持多种语言 ...