IO基础-UITabBarController

限时加码!20+主流AI编程工具免费用 购周边加赠Coding Plan Lite,Claude Code、Cursor等即刻畅享,学习进阶更高效! 阅读详情

本想写,但不想重复,故转。

UITabBarController 与 UINavigationController 一样都是控制器的容器,原理一样,

UITarBar 对应 UINavigationBar

UITabBarItem 对应 UINavigationItem


转http://www.cnblogs.com/wendingding/p/3775488.html

一、简单介绍

UITabBarController和UINavigationController类似,UITabBarController也可以轻松地管理多个控制器,轻松完成控制器之间的切换,典型的例子就是QQ、微信等应⽤。

 

二、UITabBarController的使用

1.使用步骤:

(1)初始化UITabBarController

(2)设置UIWindow的rootViewController为UITabBarController

(3)创建相应的子控制器(viewcontroller)

(4)把子控制器添加到UITabBarController

2.代码示例

新建一个空的文件,在Application的代理中编码

YYAppDelegate.m文件

复制代码
 1 //
 2 //  YYAppDelegate.m
 3 //  01-UITabBar控制器基本使用
 4 //
 5 //  Created by 孔医己 on 14-6-7.
 6 //  Copyright (c) 2014年 itcast. All rights reserved.
 7 //
 8 
 9 #import "YYAppDelegate.h"
10 
11 @implementation YYAppDelegate
12 
13 - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
14 {
15     //1.创建Window
16     self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
17     self.window.backgroundColor = [UIColor whiteColor];
18     
19     //a.初始化一个tabBar控制器
20     UITabBarController *tb=[[UITabBarController alloc]init];
21     //设置控制器为Window的根控制器
22     self.window.rootViewController=tb;
23     
24     //b.创建子控制器
25     UIViewController *c1=[[UIViewController alloc]init];
26     c1.view.backgroundColor=[UIColor grayColor];
27     c1.view.backgroundColor=[UIColor greenColor];
28     c1.tabBarItem.title=@"消息";
29     c1.tabBarItem.image=[UIImage imageNamed:@"tab_recent_nor"];
30     c1.tabBarItem.badgeValue=@"123";
31     
32     UIViewController *c2=[[UIViewController alloc]init];
33     c2.view.backgroundColor=[UIColor brownColor];
34     c2.tabBarItem.title=@"联系人";
35     c2.tabBarItem.image=[UIImage imageNamed:@"tab_buddy_nor"];
36     
37     UIViewController *c3=[[UIViewController alloc]init];
38     c3.tabBarItem.title=@"动态";
39     c3.tabBarItem.image=[UIImage imageNamed:@"tab_qworld_nor"];
40     
41     UIViewController *c4=[[UIViewController alloc]init];
42     c4.tabBarItem.title=@"设置";
43     c4.tabBarItem.image=[UIImage imageNamed:@"tab_me_nor"];
44    
45     
46     //c.添加子控制器到ITabBarController中
47     //c.1第一种方式
48 //    [tb addChildViewController:c1];
49 //    [tb addChildViewController:c2];
50     
51     //c.2第二种方式
52     tb.viewControllers=@[c1,c2,c3,c4];
53     
54     
55     //2.设置Window为主窗口并显示出来
56     [self.window makeKeyAndVisible];
57     return YES;
58 }
59 
60 @end
复制代码

实现效果:

三、重要说明

1.UITabBar 

下方的工具条称为UITabBar ,如果UITabBarController有N个子控制器,那么UITabBar内部就会有N 个UITabBarButton作为子控件与之对应。

注意:UITabBarButton在UITabBar中得位置是均分的,UITabBar的高度为49。

在上面的程序中,UITabBarController有4个子控制器,所以UITabBar中有4个UITabBarButton,UITabBar的结构⼤大致如下图所示:

 

 

2.UITabBarButton 

UITabBarButton⾥面显⽰什么内容,由对应子控制器的tabBarItem属性来决定 

 c1.tabBarItem.title=@"消息";
 c1.tabBarItem.image=[UIImage imageNamed:@"tab_recent_nor"];

3.有两种方式可以往UITabBarController中添加子控制器 

(1)[tb addChildViewController:c1];

(2)tb.viewControllers=@[c1,c2,c3,c4];

注意:展示的顺序和添加的顺序一致,和导航控制器中不同,展现在眼前的是第一个添加的控制器对应的View。

Swift UITabBarController 标签栏控制器 UITabBarController 是一个常用的框架级控件 他的功能和UINavigationController比较类似 如下图: 我们可以看到底下工具栏有四个按钮分别可以展示四个ViewController 下来我们用Swift语言来实现一下这个控件 首先,我们创建四个ViewController 准备测试 创建完成之后在AppDelegate的启动方法中创建 阅读详情

相关推荐

从原理图到PCB:手把手教你绘制DRV8301驱动板(附完整代码与避坑指南)

本文详细介绍了如何从原理图设计到PCB布局,手把手教你绘制DRV8301驱动板,特别适用于FOC(磁场定向控制)系统开发。内容涵盖元器件选型、电源树架构设计、栅极驱动电路、PCB布局技巧、焊接调试及代码配置,并附有完整代码与常见问题避坑指南,帮助工程师快速掌握DRV8301驱动板的设计与优化。

weixin_33716941的博客 372

IOS开发之——UITabBarController空项目(61)

AppDelegate.h不再有window属性,window属性被定义在了SceneDelegate.h中,AppDelegate中有新增的关于scene的代理方法,SceneDelegate中也有相应的代理方法。Xcode 11 建新工程默认会创建通过 UIScene 管理多个 UIWindow 的应用,工程中除了 AppDelegate 外还会有一个 SceneDelegate,这是为了实现iPadOS支持多窗口的结果。,主要还是希望大家在如今大环境不好的情况下面试能够顺利一点,希望可以帮助到大家~

2301_77595001的博客 431

中国 it 集成商 主要有哪些 主要做什么工作

既要懂技术(云计算/AI),又要吃透行业(金融/政务)。:用国产化方案(麒麟OS+达梦数据库)替换Oracle/Windows。:如为银行搭建数据中心(采购华为服务器+思科交换机)。:数据中心监控、故障处理(如华胜天成服务国家电网)。:核心交易系统(如中科软为保险公司开发精算平台)。:智慧城市(如太极股份承建“一网通办”政务平台)。:HIS医院信息系统(如东华软件的电子病历系统)。:硬件透明化(如服务器价格战)压缩集成毛利。:工厂设备联网(新华三的工业互联网平台)。

hxsln11的博客 2909

iOS开发-自定义TabbarController与Tabbar按钮Badge角标

iOS开发-自定义Tabbar按钮Badge角标。Tabbar是放在APP底部的控件。UITabbarController是一个非常常见的一种展示模式了。比如微信、QQ都是使用tabbar来进行功能分类的管理。分别实现对应按钮、badge等

一名开发者 1510

IOS开发之——UITabBarController空项目(61),一次关于JVM的面试经历

Xcode 11 建新工程默认会创建通过 UIScene 管理多个 UIWindow 的应用,工程中除了 AppDelegate 外还会有一个 SceneDelegate,这是为了实现iPadOS支持多窗口的结果AppDelegate.h不再有window属性,window属性被定义在了SceneDelegate.h中,AppDelegate中有新增的关于scene的代理方法,SceneDelegate中也有相应的代理方法。

pckzzy119的博客 240

iOS基础 UITabBarController

使用 创建子控制器继承自UITabBarController,在viewDidLoad阶段,把各个分页上的控制器给创建好,用UITabBarController的方法addChildControoler相关的方法就可以完成子控制器的添加。 be like: private func creatChildController(vc:UIViewController,title:String,image:String,selected:String?){ vc.title = title

乐事派的专栏 623

iOS UITabBarController用法原理详解(一)、自定义tabbar

UITabBarController的原理: UITabBarController会一次性初始化所有子控制器,但是默认只加载第一个控制器视图,其他视图控制器只初始化默认不会加载,只有当需要显示的时候才loadView加载,为了能够将其他子控制器也正常显示在Tab bar中,我们访问了每个子视图控制器的视图以便调用其视图加载方法(viewDidLoad);当然,既然会调用子视图的初始化方法,...

代码解释生活 1万+

细谈UITabBarController

1.简述 UITabBarController和UINavigationController类似,UITabBarController也可以轻松地管理多个控制器,轻松完成控制器之间的切换,UITabBarController嵌套UINavigationController是现当下最流行的iOS应用设计模式了.详情可以查看博文:http://www.cnblogs.com/chaso...

aoying1375的博客 226

iOS开发基础 - UITabBarController

UITabBarController//标签栏控制器有一个标签条 是属于标签栏控制器的UITabBarController //标签条上面的按钮tabBarItem 是属于每个界面的 HomeViewController *homeVC = [[HomeViewController alloc]init]; //tabBarItem标签项 homeVC.tabBarItem.image = [UI

Cry4tal的博客 407

Swift 设置UITabBarController

1丶新建VC 继承与UITabBarController  import UIKit class LHTabBarViewController: UITabBarController {     override func viewDidLoad() {         super.viewDidLoad()         initTabBarViewCo

祝我们都能在鸡零狗碎的生活里,找到自己的快乐~ 782

iOS UINavigationController + UITabBarController

由于项目要使用到选项卡,所以使用了UINavigationController 嵌套 UITabBarController搭建一个简单的模型,欢迎各位一起讨论其中的不足,一起学习,一起进步。 首先,写了一个ViewController继承     UITabBarController   易修改和复用,名字为 BaseTabBarController 主要有两个方法,用于设置UITabB

nhsongzai的专栏 1114

IOS_UITabBarController

简单制作一个UITabBar页面 显示TabBar页面无其他内容 #import @interface AppDelegate : UIResponder UIApplicationDelegate> @property (strong, nonatomic) UIWindow *window; @end

qiyuting_cherish的博客 447

控制器:UITabBarController

1、UITabBarController的使用步骤 初始化UITabBarController 设置UIWindow的rootViewController为UITabBarController 根据具体情况,通过addChildViewController方法添加对应个数的子控制器2、UITabBarController的子控制器UITabBarController添加控制器的方式有2种 添

唐枫专栏 678

iOSUITabBarController使用

说明: UITabBarController是一个Tab导航控制器,由内容+底部Tab导航条组成,可加入多个ViewController,每个对应底部一个tabBarItem,可设置显示标题,图标等。 一、代码方式,在AppDelegate.m的didFinishLaunchingWithOptions方法中加入如下代码: - (BOOL)application:(UIApplica...

a526001650a的专栏 1461

IOS ——UI篇——UITabBarController的基本用法

一、UITabBarController对象的创建和初始化 首先创建多个视图控制器,并在tabBarItem中添加标题和图片 self.viewController.tabBarItem.title=@"首页";//设置tabBarItem标题 self.viewController.tabBarItem.image= [UIImageimageN...

Maybe_2333的博客 233

UITabBarController--选项卡栏控制器

UITabBarController–选项卡栏控制器继承关系NSObject->UIResponder->UIViewController->UITabBarController术语UITabBarController: 选项卡栏控制器 tab: 选项卡 tabBar:选项卡栏 TabBarItem: 选项卡标签元素简介UITabBarController类实现了一个专门的视图控制器以单

笨鱼@Blog 1464

UITabBarController详解(三)自定义UITabBarController

@有的时候,我们不想用系统提供的UITabBarController

iOS界@迷糊小书童 2974

自定义UITabbarController及向UITabBar中添加自定义按钮

在某些项目的初期我们经常会选择使用UITabbarController或者是UINavigationController或者是两者的结合,经常需要自定义自己需要的类,本文讲述了自定义UITabbarController及向UITabBar中添加自定义按钮的使用。 首先自定义一个继承自UITabbarController的类,定义4个属性,均为UIViewController类型的,作为tabba

wu948327362的博客 6954

UITabBarController详解(介绍和设置)

UITabBarController详解(介绍和设置)

岽少的专栏 1798

UITabBarController的理解

理解:和UINavigationController一样,UITabBarController也可以控制多个页面导航。用户可以在多个视图控制器之间移动,并可以定制屏幕底部的选项卡栏。     UITabBarController是组建一系列的控制器,可以是UIViewController,UITableViewController,UINavigationController等,并将它们添加到选

u011508406的专栏 613

UITabBarController

#import "RootViewController.h" #import "FirstViewController.h" #include "SecondViewController.h" #import "ThirdViewController.h" #import "FourthViewController.h" #import "FifthViewController.h" #import

qq_32780047的博客 482
上一篇: VLC-基于LIBVLC播放视频
下一篇: IOS基础-UINAVIGATIONCONTROLLER-不写代码实现分层显示
伍意
博客等级 码龄22年 198粉丝 71原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值