UITabBarController 控制器
1、UITabBarController基本概念
UITabBarController和UINavigationController都是用来管理视图的。
UITabBarController用于管理固定的几个视图控制器,各个子控制器之间是并列关系,可以任意切换。
UINavigationController用于管理视图控制器之间的切换,和子控制器之间存在者父子关系。
2、UITabBarController结构

一个UITabBarController控制者若干视图控制器,有一个数组进行管理。
每一个UITabBarController只有一个UITabBar视图,用于显示UITabItem,UITabItem由当前的视图控制器进行管理,这一点与UINavigationController中的UIBarButtonItem相同。
2.1)、系统自带UITabBarController的TabBar样式
TabBar默认只能显示5个TabItem,如果超出5个会自动生成More的标签显示剩余的tab,这些tab可以通过编辑显示在TabBar上,如果将视图添加到导航控制器中会默认出现编辑按钮,可以自由一点TabItem实例。
3、UITabBarController常用方法
4、设置UITabBarController代理
通过实习UITabBarController的代理方法,可以监听各视图控制器的的切换

5、自定义UITabBarController的底部工具栏
5.1)、UITabBar视图组成
UITabBar用来控制各个控制器的切换,类似于选项卡
每个TabItem控制一个视图控制器,点击哪个TabItem就显示对应的视图控制器,可以通过子控制器的self.tabBarItem获得对应的UITabBarItem对象
通过selt.title设置对应的子视图控制器的标题
通过UITabBar的tintColor属性定义背影颜色
5.2)第一种定制UITabBar视图:通过定义UITabBarItem对象定制
图片大小 30 * 30 px (视网膜屏 60 * 60px)
图片要用淡灰色或半透明效果,选中时系统自动填充为蓝色
//自定义title 标题 - (id)initWithTitle:(NSString *)title image:(UIImage *)image tag:(NSInteger)tag; //使用系统内置的tab - (id)initWithTabBarSystemItem:(UITabBarSystemItem)systemItem tag:(UIInteger)tag;
UITabBar其他常用设置:
通过设置self.tabBarItem.badgeValue = @"new"; 设置右上角红色图标标记
也可以通过 [UIApplication shareApplication].applicationIconBadgeNumber = 8; 来设置程序的标记
5.3)、第二种自定义UITabBar视图
隐藏UITabBarController的UITabBar,创建一个View代替UITabBar,在此View上添加UIButton代替Tab标签
注:ios 5.x之后提供了新的方法用于定制自己的UITabBar
//定制UITabBar背景图片 @property(nonatomic,retain) UIImage *backgroundImage; //定制选中图片 @property(nonatomic,retain) UIImage *selectionIndicatorImage;
6、UITabBarController与UINavigationController的结合使用
根视图是UITabBarController,它有若干个子视图控制器(它们是平级关系),其中有一个或多个是UINavigationController,导航控制器控制者若干子视图控制器(它们是父子关系)。
浙公网安备 33010602011771号