View Controller
来源:互联网 发布:微软授权淘宝经销商 编辑:程序博客网 时间:2024/05/19 11:19
如果想要展示一个View Controller,一般有如下一种途径
- 设置成UIWindow的rootViewController(iOS 4.0之前UIWindow并没有rootViewController属性,只能通过addSubview的方式添加一个View Controller的view)
- 使用某个已经存在的Container来展示,比如使用UINavigationController来展示某个View Controller [navigationController pushViewController:vc animated:YES];
- 以模态界面的方式展现出来 presentModalViewController
- 以addSubview的方式将使其view作为另一个View Controller的view的subView
直接使用4种方法是比较危险的,上一级 View Controller并不能对当前View Controller的 生命周期相关的函数进行调用,以及旋转事件的传递等。
我们常用的容器有 UINavigationController,UITabbarController等,一般容器有一些共同的特征:
- 提供对Child View Controller进行管理的接口,比如添加Child View Controller,切换Child View Controller的显示,移除Child View Controller 等
- 容器“拥有”所有的Child View Controller
- 容器需要负责 Child View Controller的appearance callback的调用(viewWillAppear,viewDidAppear,viewWillDisaapper,viewDidDisappear),以及旋转事件的传递
- 保证view hierarchy 和 view controller hierarchy 层级关系一致,通过parent view controller将child view controller和容器进行关联
从上面可以看出来,实现一个Container View Controller并不是一个简单的事情,好在iPhone的界面大小有限,一般情况下一个View Controller的view都是充满界面或者系统自带容器的,我们无需自己创建额外的容器。
0 0
- view controller
- View Controller
- presenting view controller Vs presented view controller
- 【View Controller】Presenting a view controller programmatically
- Model-View-Controller Pattern
- Model-View-Controller (MVC)
- Model-View-Controller
- 3.Controller与View
- View controller object diagram
- view向Controller传值
- View Controller Basics
- View Controller Initialization
- Model-View-Controller Pattern
- The Simplest View Controller
- UIViewController (popover view controller)
- mvc:view-controller
- Model View Controller(MVC)
- Container View Controller
- Java通过jdbc远程操控MySQL数据库
- 正则表达式入门
- HDU 1556 Color the ball [线段树]
- mysql主从复制
- Codeforces 27B - Tournament (dfs)
- View Controller
- poj之旅——3669
- 超详细JSON解析步骤
- jQuery事件对象
- 派生类的构造函数和析构函数和多继承中的二义性与虚函数
- 数组名取地址带来的问题
- Android之使用GSON解析JSON数据
- Git 基础(七)—— 远程仓库(GitHub)
- Java再学习-反射机制