iOS--UI之导航控制器与标签控制器
2016-07-19 10:04
459 查看
1、导航控制器和标签控制器都属于容器控制器;
a)容器控制器本身不负责向用户展示有意义的内容,只是负责管理子控制器,管理控制器的展示和子视图控制器视图之间的切换
b)容器类控制器本身也是视图控制器,都是UIViewController的子类。
2、导航控制器的基本概念
a)
导航控制器(UINavigationController)是用来管理子控制器的切换的大管家
b)导航控制器它本身不显示视图内容,而是管理子控制器的视图显示,它提供了一个可以在这些视图之间切换显示的结构。
3、导航控制器的显示结构
a) 导航栏(Navigation bar)
b) 子控制器的根视图(Custom content)
c) 导航工具栏(Navigation toolbar),默认隐藏,较少使用
4、导航控制器的组织结构
a)组织结构指的并不是子控制器视图在屏幕上的布局方式,而是指容器视图控制器以什么样的基本数据结构描述和组织这些视图控制器。
b)导航控制器组织子视图的方式:将它的子控制器组织在一个树结构中。
c)树中的每一个视图控制器定义了它可能的下一级视图控制器和唯一能返回的上一级视图控制器。
d)导航控制器的栈结构管理特点:先进后出,后进先出
5、导航控制器的创建
//创建视图控制器
RootViewController *rootVC = [[RootViewController alloc]init];
//把控制器添加的窗⼝口上去显⽰
UINavigationController *navCtrl = [[UINavigationController alloc]initWithRootViewController:rootVC];
//设置为根视图
self.window.rootViewController = navCtrl;
6、导航控制器的常用方法
//初始化⼀一个根视图控制器,在栈的最底层
- (id)initWithRootViewController:(UIViewController *)rootViewController;
//压⼊入到⼀一个新的视图控制器中,在栈中最顶层,可以选择是否需要动画效果
- (void)pushViewController:(UIViewController *)viewController animated:(BOOL)animated;
//弹出到上一个控制器,可以选择是否需要动画
- (UIViewController *)popViewControllerAnimated:(BOOL)animated;
//弹出到指定的视图控制器中,可以选择是否需要动画效果
- (NSArray *)popToViewController:(UIViewController *)viewController animated: (BOOL)animated;
//回到根视图控制器,可以选择是否需要动画效果
- (NSArray *)popToRootViewControllerAnimated:(BOOL)animated;
7、标签控制器的基本概念
a) UITabBarController
和 UINavigationController一样是用来管理视图控制器的。
b) UINavigationController
是用来管理视图控制器之间的导航,UITabBarController是管理固定的几个视图控制器,子控制器是并列的。可以任意切换显示。
c)
很多应用程序都使用 UITabBarController
来做整体的布局。
注意:TabBar只能显示5个TabItem,如果超过5个则会自动生成个
More的标签显示剩余的Tab,这些Tab可以通过编辑显示在
UITabBar上
8、标签控制器的结构
与导航控制器不同,标签控制器是用数组管理子视图控制器,并且子视图之间是平等关系。导航控制器所管理的视图控制器之间是上下级关系
9、UITabBar的常用设置
UITabBarController *tabBarController = [[UITabBarController alloc] init];
//设置tabBar的背景图⽚
tabBarController.tabBar.backgroundImage = [UIImage imageNamed:@"navbg.png"];
tabBarController.tabBar.tintColor = [UIColor grayColor];
//设置选中item的图⽚颜⾊
tabBarController.tabBar.selectedImageTintColor = [UIColor redColor];
//设置选中item后,显⽰在此item下⾯的图⽚
tabBarController.tabBar.selectionIndicatorImage = [UIImage imageNamed:@"选中.png"];
注意:在实际项目开发中,导航控制器作为标签控制器的子视图来使用的情况非常多
a)容器控制器本身不负责向用户展示有意义的内容,只是负责管理子控制器,管理控制器的展示和子视图控制器视图之间的切换
b)容器类控制器本身也是视图控制器,都是UIViewController的子类。
2、导航控制器的基本概念
a)
导航控制器(UINavigationController)是用来管理子控制器的切换的大管家
b)导航控制器它本身不显示视图内容,而是管理子控制器的视图显示,它提供了一个可以在这些视图之间切换显示的结构。
3、导航控制器的显示结构
a) 导航栏(Navigation bar)
b) 子控制器的根视图(Custom content)
c) 导航工具栏(Navigation toolbar),默认隐藏,较少使用
4、导航控制器的组织结构
a)组织结构指的并不是子控制器视图在屏幕上的布局方式,而是指容器视图控制器以什么样的基本数据结构描述和组织这些视图控制器。
b)导航控制器组织子视图的方式:将它的子控制器组织在一个树结构中。
c)树中的每一个视图控制器定义了它可能的下一级视图控制器和唯一能返回的上一级视图控制器。
d)导航控制器的栈结构管理特点:先进后出,后进先出
5、导航控制器的创建
//创建视图控制器
RootViewController *rootVC = [[RootViewController alloc]init];
//把控制器添加的窗⼝口上去显⽰
UINavigationController *navCtrl = [[UINavigationController alloc]initWithRootViewController:rootVC];
//设置为根视图
self.window.rootViewController = navCtrl;
6、导航控制器的常用方法
//初始化⼀一个根视图控制器,在栈的最底层
- (id)initWithRootViewController:(UIViewController *)rootViewController;
//压⼊入到⼀一个新的视图控制器中,在栈中最顶层,可以选择是否需要动画效果
- (void)pushViewController:(UIViewController *)viewController animated:(BOOL)animated;
//弹出到上一个控制器,可以选择是否需要动画
- (UIViewController *)popViewControllerAnimated:(BOOL)animated;
//弹出到指定的视图控制器中,可以选择是否需要动画效果
- (NSArray *)popToViewController:(UIViewController *)viewController animated: (BOOL)animated;
//回到根视图控制器,可以选择是否需要动画效果
- (NSArray *)popToRootViewControllerAnimated:(BOOL)animated;
7、标签控制器的基本概念
a) UITabBarController
和 UINavigationController一样是用来管理视图控制器的。
b) UINavigationController
是用来管理视图控制器之间的导航,UITabBarController是管理固定的几个视图控制器,子控制器是并列的。可以任意切换显示。
c)
很多应用程序都使用 UITabBarController
来做整体的布局。
注意:TabBar只能显示5个TabItem,如果超过5个则会自动生成个
More的标签显示剩余的Tab,这些Tab可以通过编辑显示在
UITabBar上
8、标签控制器的结构
与导航控制器不同,标签控制器是用数组管理子视图控制器,并且子视图之间是平等关系。导航控制器所管理的视图控制器之间是上下级关系
9、UITabBar的常用设置
UITabBarController *tabBarController = [[UITabBarController alloc] init];
//设置tabBar的背景图⽚
tabBarController.tabBar.backgroundImage = [UIImage imageNamed:@"navbg.png"];
tabBarController.tabBar.tintColor = [UIColor grayColor];
//设置选中item的图⽚颜⾊
tabBarController.tabBar.selectedImageTintColor = [UIColor redColor];
//设置选中item后,显⽰在此item下⾯的图⽚
tabBarController.tabBar.selectionIndicatorImage = [UIImage imageNamed:@"选中.png"];
注意:在实际项目开发中,导航控制器作为标签控制器的子视图来使用的情况非常多
相关文章推荐
- GUI - Web前端开发框架
- 评价ui设计作品好坏的八个标准(界面/交互设计研究)
- 【DevOps】为什么我们永远疲于奔命?
- 网络管理之IP地址篇
- 文件的读出 编辑 管理
- SQL Server 2008 R2 应用及多服务器管理
- Jquery ui datepicker设置日期范围,如只能隔3天【实现代码】
- jQuery实现下滑菜单导航效果代码
- 为Yahoo! UI Extensions Grid增加内置的可编辑器
- jquery实现的仿天猫侧导航tab切换效果
- Cocos2d-x UI开发之文本类使用实例
- VC下通过系统快照实现进程管理的方法
- PHP的栏目导航程序
- jquery实现向下滑出的二级导航下滑菜单效果
- 基于jQuery实现以手风琴方式展开和折叠导航菜单
- 谈谈对jquery ui tabs 的理解
- JS+CSS实现六级网站导航主菜单效果
- 在IE 浏览器中使用 jquery的fadeIn() 效果 英文字符字体加粗
- JS实现网页顶部向下滑出的全国城市切换导航效果
- 原生js和jquery分别实现横向导航菜单效果