一. 标签视图控制器--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"]]; //打开其他应用