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,导航控制器控制者若干子视图控制器(它们是父子关系)。  

 

 

 

 

     

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

posted @ 2014-03-24 23:27  赵彦辉  阅读(1413)  评论(0)    收藏  举报