文档章节

UITabBarController的使用

第四波
 第四波
发布于 2016/04/27 17:35
字数 608
阅读 208
收藏 0

1.UITabBarController

UITabBarController通常作为整个程序的rootViewController,而且不能添加到别的 container viewController中。

使用步骤:

(1)初始化UITabBarController

(2)设置UIWindow的rootViewController为UITabBarController

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

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

selectedIndex属性可用于设置当前被选中的为哪个viewcontroller

可通过代理使tabbarcontroller的某一个viewcontroller不可用,即不可点击,示例代码:

- (BOOL)tabBarController:(UITabBarController*)tabBarController shouldSelectViewController:(UIViewController*)viewController {

if([tabBarController.viewControllersindexOfObject:viewController] ==1) {

returnNO;

}

returnYES;

}

2.UITabbar

UITabBar上面显示的每一个Tab都对应着一个ViewController,我们可以通过设置 viewcontroller.tabBarItem属性来改变tabbar上对应的tab显示内容。否则系统将会根据viewController的 title自动创建一个,该tabBarItem只显示文字,没有图像。当我们自己创建UITabBarItem的时候,我们可以显示的指定显示的图像和 对应的文字描述。当然还可以通过

设置背景颜色

[tabVC.tabBar setBarTintColor:[UIColor grayColor]];

设置选中item颜色:

[tabVC.tabBarsetTintColor:[UIColorcolorWithRed:170/255.0green:0/255.0blue:0/255.0alpha:1.0]];

注意(未验证):

UITabBar自己有一些方法是可以改变自身状态,但是对于UITabBarController自带的tabBar,我们不能直接去修改其状态。任何直接修改tabBar的操作将会抛出异常

uitabbaritem的titlePositionAdjustment属性可设置title的偏移量,示例代码:

[newsVC.tabBarItemsetTitlePositionAdjustment:UIOffsetMake(0, -3)];

UIBarItem的imageInsets属性可设置image的偏移量,示例代码:

[newsVC.tabBarItemsetImageInsets:UIEdgeInsetsMake(20,0,0,0)];

UITabBar的默认高度为49

UITabBarController的tabBar.frame属性可任意修改tabbar的宽度和位置,但高度修改不生效。而且此时tabbarcontroller控制下的view controller的view也是按照tabor的默认尺寸和位置进行适配,如果要修改tabor的frame还需要手动对其控制下的view controller进行适配。

3.UITabbarItem

tabbaritem可分别设置image和selectedImage属性,用来显示选中和未选中时显示的图片

UIBarItem的图片处理方案:

1.(默认)使用系统的图片渲染处理,即时图片本身有颜色也将对最终显示结果无任何影响,此时可改变渲染的颜色


2.使用图片本身的颜色,此时需修改UIImage的renderingMode(只读)属性。示例代码:

newsVC.tabBarItem.image        = [UIImage imageNamed:@"picture"];

newsVC.tabBarItem.selectedImage= [UIImageimageNamed:@"icon87"];

newsVC.tabBarItem.selectedImage= [newsVC.tabBarItem.selectedImageimageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];



注:未被选中状态的图片默认会被渲染成灰色,但也使用与以上属性(可设为显示某一张图片的原色)


© 著作权归作者所有

上一篇: 关于模态的使用
下一篇: 关于模态的使用
第四波
粉丝 1
博文 2
码字总数 982
作品 0
通州
程序员
私信 提问
高度自定义 TabBarController 组件--ESTabBarController

ESTabBarController 是一个高度自定义的 TabBarController 组件,继承自 UITabBarController,可轻松自定义 UI 样式,添加动画等。 功能 1、支持默认样式 如果直接使用ESTabBarController进行...

eggswift
2017/02/14
330
0
iOS开发简记(2):自定义tabbar

tabbar是放在APP底部的控件。常见的APP都使用tabbar来进行功能分类的管理,比如微信、QQ等等。 小程需要一个特殊一点的tabbar,要求突显中间的那个按钮,让中间按钮特别显眼,从而引导用户去...

jonlan
2018/11/17
0
0
UITabBarController的使用

先看效果图 一般为了实现底部导航和跳转子控制器.一般都是UITabBarController和UINavigationController嵌套使用 一般将ViewController添加到UINavigationController管理, 然后将UINavigatio...

luoruowen
2016/11/02
71
0
UITabBarController详解

 广州APP开发,微信开发,广州英趣信息科技开发部博客:当我们想要做一个界面类似 联系人 那样的程序时,就一定会用到 UITabBar,它可以帮我们添加、管理许多的Tab项, 使我们的程序包含不同...

广州英趣科技
2013/09/08
16.6K
2
IOS 学习---视图,标签,导航控制器详解

当一个项目中UITabBarController,UIViewController三种控制器同时出现的时候,将标签控制器(UITabBarController)作为视图的根控制器,将创建的视图控制器作为标签控制器的子控制器。 //创建...

fengyun321
2015/09/12
53
0

没有更多内容

加载失败,请刷新页面

加载更多

Jenkins World 贡献者峰会及专家答疑展位

本文首发于:Jenkins 中文社区 原文链接 作者:Marky Jackson 译者:shunw Jenkins World 贡献者峰会及专家答疑展位 本文为 Jenkins World 贡献者峰会活动期间的记录 Jenkins 15周岁啦!Jen...

Jenkins中文社区
25分钟前
8
0
杂谈:面向微服务的体系结构评审中需要问的三个问题

面向微服务的体系结构如今风靡全球。这是因为更快的部署节奏和更低的成本是面向微服务的体系结构的基本承诺。 然而,对于大多数试水的公司来说,开发活动更多的是将现有的单块应用程序转换为...

liululee
39分钟前
7
0
OSChina 周二乱弹 —— 我等饭呢,你是不是来错食堂了?

Osc乱弹歌单(2019)请戳(这里) 【今日歌曲】 @ 自行车丢了:给主编推荐首歌 《クリスマスの夜》- 岡村孝子 手机党少年们想听歌,请使劲儿戳(这里) @烽火燎原 :国庆快来,我需要长假! ...

小小编辑
今天
417
9
玩转 Springboot 2 之热部署(DevTools)

Devtools 介绍 SpringBoot 提供了热部署的功能,那啥是热部署累?SpringBoot官方是这样说的:只要类路径上的文件发生更改,就会自动重新启动应用程序。在IDE中工作时,这可能是一个有用的功能...

桌前明月
今天
6
0
CSS--列表

一、列表标识项 list-style-type none:去掉标识项 disc:默认实心圆 circle:空心圆 squire:矩形 二、列表项图片 list-style-img: 取值:url(路径) 三、列表项位置 list-style-position:...

wytao1995
今天
10
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部