watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvd2Vpc3ViYW8=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">

#import "WPTabBarController.h"
#import "WPFirstViewController.h"
#import "WPSecondViewController.h"
#import "WPThirdViewController.h"
#import "WPFourthViewController.h" @interface WPTabBarController () @end @implementation WPTabBarController - (void)viewDidLoad {
WPFirstViewController *firsVc=[[WPFirstViewController alloc]init];
WPSecondViewController *secondVc=[[WPSecondViewController alloc]init];
WPThirdViewController *thirdVc=[[WPThirdViewController alloc]init];
WPFourthViewController *fourthVc=[[WPFourthViewController alloc]init]; //下面两种方式均可设置tabbar上得标题
firsVc.tabBarItem.title=@"消息";
//firsVc.title=@"消息";
secondVc.tabBarItem.title=@"联系人";
//secondVc.title=@"联系人";
thirdVc.tabBarItem.title=@"动态";
//thirdVc.title=@"动态";
fourthVc.tabBarItem.title=@"设置";
//fourthVc.title=@"设置"; //设置icon
firsVc.tabBarItem.image=[UIImage imageNamed:@"tab_recent_nor"];
secondVc.tabBarItem.image=[UIImage imageNamed:@"tab_buddy_nor"];
thirdVc.tabBarItem.image=[UIImage imageNamed:@"tab_qworld_nor"];
fourthVc.tabBarItem.image=[UIImage imageNamed:@"tab_me_nor"]; firsVc.view.backgroundColor=[UIColor redColor];
secondVc.view.backgroundColor=[UIColor whiteColor];
thirdVc.view.backgroundColor=[UIColor purpleColor];
fourthVc.view.backgroundColor=[UIColor greenColor]; //用下面方式加入子控制器
//self.viewControllers=@[firsVc,secondVc,thirdVc,fourthVc];
[self addChildViewController:firsVc];
[self addChildViewController:secondVc];
[self addChildViewController:thirdVc];
[self addChildViewController:fourthVc]; [super viewDidLoad];
// Do any additional setup after loading the view.
}

核心:

——定义1个tabBat控制器和4个导航控制器。然后通过addChildViewController或者数组的形式把4个导航控制器加到tabBar控制器中。

——每一个导航控制器通过tabBarItem属性来设置标题和icon等。

界面截屏:

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvd2Vpc3ViYW8=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">

【iOS开发-78】用代码实现UITabBarController+UINavigationController的更多相关文章

  1. iOS开发关于Block代码错误

    本文永久地址为http://www.cnblogs.com/ChenYilong/p/4052362.html ,转载请注明出处. iOS开发关于Block代码错误 Incompatible bloc ...

  2. 【好程序员笔记分享】——iOS开发之纯代码键盘退出

    -iOS培训,iOS学习-------型技术博客.期待与您交流!------------ iOS开发之纯代码键盘退出(非常简单)     iOS开发之纯代码键盘退出 前面说到了好几次关于键盘退出的,但 ...

  3. IOS开发 统计XCODE 代码行数

    如果要统计ios开发代码,包括头文件的,终端命令进入项目目录下,命令如下 find . -name "*.m" -or -name "*.h" -or -nam ...

  4. iOS开发技巧 -- 复用代码片段

    如果你是一位开发人员在开发过程中会发现有些代码无论是在同一个工程中还是在不同工程中使用率会很高,有经验的人会直接封装在一个类里,或者写成一个宏定义或者把这些代码收集起来,下次直接使用,或者放到xcod ...

  5. IOS开发之路四(UITabBarController)

    前两天看了看斯坦福大学的iphone开发公开课,讲的倒是不错,可看的我云里雾里的,不怎么讲基础和原理,不太适合初学者.今天看了一上午ios5基础教程这本书感觉有点头绪了....废话少说,讲一讲我上午做 ...

  6. IOS开发-UI学习-UITabBarController的使用

    UITabBarController具体实例如下图 我们最常见的就是微信最下面的四个按钮,通过这四个按钮可以导航到不同的界面. UITabBarController是一个容器,以下的例程中给UITab ...

  7. iOS - 开发一套代码多个app展示不同图标和名称

    引言 公司项目重构之后,有了相对比较完善的开发体系,首先git分支分为日常.预发.生产三个主要分支,开发阶段都在日常(daily)分支下开相应功能的feature分支,开发完再合并. 我的iOS工程需 ...

  8. iOS开发——UI篇Swift篇&UITabBarController

    UITabBarController class UITabBarControllerController: UIViewController { var titleString:String! @I ...

  9. iOS开发之一句代码检测APP版本的更新

    提示更新效果图如下,当然也是可以自定义类似与AlertView相似的自定义view,如京东.网易云音乐都是自定义了这种提示框的view.以下只展示,从App Store获取到app信息.并解析app信 ...

随机推荐

  1. javascript设计模式-掺元类

    有一种重用代码的方法不需要用到严格的继承.如果想把一个函数用到多个类中,可以通过扩充的方式让这些类共享该函数.其实际做法大大体为:先创建一个包含各种通用方法的类,然后再用它扩充其他的类.这种方式就叫做 ...

  2. [luogu普及] ---P1032 字串变换

    目的 刷完100AC (最近很不舒服,写博客耗时啊 记录第一个字符串的题目 参考 https://www.luogu.org/blog/user20197/solution-p1032 代码 #inc ...

  3. C - Twins(贪心)

    Problem description Imagine that you have a twin brother or sister. Having another person that looks ...

  4. shell 杂集

    1.shell 相等比较注意 -eq 数字相等的比较 == 字符串相等的比较 2.== 和 = 的区别 == 可用于判断变量是否相等,= 除了可用于判断变量是否相等外,还可以表示赋值. = 与 ==  ...

  5. lua 计算字符串字符个数“中文字算一个字符”

    local function GetStringWordNum(str) local fontSize = local lenInByte = #str local count = local i = ...

  6. java8 Stream 笔记

    stream的定义:对一个源中的一系列元素进行聚合操作. 一系列元素:stream对一组有特定类型的元素提供了一个接口.但是stream并不真正存储元素,元素根据需求被计算出来. 源:stream可以 ...

  7. mybatis学习笔记之基础复习(3)

    mybatis学习笔记之基础复习(3) mybatis是什么? mybatis是一个持久层框架,mybatis是一个不完全的ORM框架.sql语句需要程序员自己编写, 但是mybatis也是有映射(输 ...

  8. hdu 2489 dfs枚举组合情况+最小生成树

    大家都说,搜索是算法的基础.今天最这题就有体会了.在n个顶点里选择m个顶点,求最小生成树.用到了深搜的回溯.所有情况都能枚举. #include<iostream> #include< ...

  9. 我的C++笔记(Hello World)

    其实在学习C++之前,是因为自己想学AI,但是发现好多AI教程都是使用C语言来进行讲解的,真心感觉到C真的计算机的基础语言行业的共同语言.至于为什么是C++,主要是C++是从C语言演变而来的,兼容C, ...

  10. JavaScript创建对象的几种 方式

    //JavaScript创建对象的七种方式 //https://xxxgitone.github.io/2017/06/10/JavaScript%E5%88%9B%E5%BB%BA%E5%AF%B9 ...