iOS 之UITabBarController

一. 标签视图控制器--UITabBarController

UITabBarController--标签视图控制器,用来管理没有层次递进关系的试图控制器.

视图->图层->子视图

视图控制器->管理视图

导航视图控制器->管理有层次关系的视图控制器

标签视图控制器->管理没有层次关系的视图控制器

UITabBarController 与 UINavigationController 一样都继承于UIViewController.

UITabBarController的三层结构 1. Tab Bar Controller View  2. Custom content  3. Tab Bar

创建UITabBarController步骤:

1. 创建UITabBarController的实例化对象;

2. 将UITabBarController对象管理的视图控制器放到一个数组中;

3. 设置UITabBarController的实例化对象的子视图控制器数组;

4. 将window的跟视图控制器至为UITabBarController的实例化对象.

程序添加的过程:

UIWindow -> UITabBarController -> UINavigationController -> UIViewController

UITabBarController的重要属性:

1. viewControllers 所管理的视图控制器(NSArray)

2. tabBar 标签栏

3. selectedIndex 选中的某个tabBarItem

4. delegate 代理 

当点击某个标签的时候触发方法

- (void)tabBarController:(UITabBarController *)tabBarController didSelectViewController:(UIViewController *)viewController


二. UITabBar

UITabBar包含多个UITabBarItem,每一个UITabBarItem对应一个UIViewController.UITabBar的高度为49.系统最多会显示5个UITabBarItem,当UITabBarItem超过5个的时候系统会自动增加一个更多按钮,点击更多按钮,并没有在底部显示而按钮是以列表的形式显示出来.

UITabBar的属性:barTintColor(背景颜色) tintColor(渲染的颜色)

translucent为BOOL性属性,半透明度,默认为YES

UITabBarItem可以通过属性title,badgeValue来设置标题及提示.

自定义TabBar外观:

可以修改器TabBarItem上的style 例如tittle 以及 Image等等.


三. UIAppearance

一键设定所有的导航视图控制器的颜色,类似于QQ的一键换肤,可以通过UIAppearance协议来进行操作.

设置全局的最好设置在appDelegate里面,否则无效

[[UITabBar appearance] setBarTintColor] = [UIColor cyanColor];


四. 三大控制器的综合使用

UIViewController  UINavigationController  UITabBarController

UITabBarController是项目开发中常见的布局样式,与UINavigationController不同,它的viewControllers都是并列的,而UINavigationController的则是由层级关系的.

UITabBar通常都会定义外观以适应程序风格,必要时会完全自定义.


五. 扩展内容(NSUserDefault,NSURL)

NSUserDefault (判断用户是否第一次使用该app)

NSUserDefaults *user = [NSUserDefaults standardUserDefaults]; //该方法在该应用中,获取到的键值均为同一个对象.

[user setObject:self.userName.text forKey:@"userName"];


NSURL:

UIApplication *app = [UIApplication sharedApplication];  //单例方法,获取当前的应用对象

[app openURL :[NSURL UILWithString:@"http://www.baidu.com"]]; //打开其他应用

你可能感兴趣的:(iOS 之UITabBarController)