iOS_5.0新特性_UIViewController切换
来源:互联网 发布:javascript delay 编辑:程序博客网 时间:2024/05/21 22:22
前言
在苹果的WWDC2011大会视频的《Session 101 - What’s New in Cocoa》和《Session 102 - Implementing UIViewController Containment》中介绍了苹果在iOS5中给UIViewController新增加的5种方法和1种属性
// 新增加的属性
@property(nonatomic,readonly) NSArray *childViewControllers
// 新增加的方法
addChildViewController:
removeFromParentViewController:
transitionFromViewController:toViewController:duration:options:animations:completion:
willMoveToParentViewController:
didMoveToParentViewController:
原来的问题
这些新增的方法和属性用于改进我们的编程方式。那么让我们先看看以前的对于UIViewController的使用有什么潜在的问题,认清问题,我们才能理解苹果改变的意义。
在以前,一个UIViewController的View可能有很多小的子view。这些子view很多时候被盖在最后,我们在最外层ViewController的viewDidLoad方法中,用addSubview增加了大量的子view。这些子view大多数不会一直处于界面上,只是在某些情况下才会出现,例如登陆失败的提示view,上传附件成功的提示view,网络失败的提示view等。但是虽然这些view很少出现,但是我们却常常一直把它们放在内存中。另外,当收到内存警告时,我们只能自己手工把这些view从super view中去掉。
改变
苹果新的API增加了addChildViewController方法,并且希望我们在使用addSubview时,同时调用[self addChildViewController:child]方法将sub view对应的viewController也加到当前ViewController的管理中。对于那些当前暂时不需要显示的subview,只通过 addChildViewController把subViewController加进去。需要显示时再调用 transitionFromViewController:toViewController:duration:options:animations:completion方法。
另外,当收到系统的Memory Warning的时候,系统也会自动把当前没有显示的subview unload掉,以节省内存。
Demo
http://download.csdn.net/detail/tianjf0514/6834579
- iOS_5.0新特性_UIViewController切换
- iOS_5.0新特性_UIViewController切换
- Android5.0新特性之Activity切换动画
- iOS 7 新特性之ViewController切换
- android5.0新特性1Styke风格,颜色搭配,风格转换,不做Intent切换的动画
- ejb3.0新特性
- tapestry4.0新特性
- jdk5.0新特性
- J2SE5.0新特性
- jdk5.0新特性
- JDBC4.0新特性
- jsp2.0新特性
- JDK5.0新特性
- JDK5.0新特性:
- jdk5.0新特性
- jdbc2.0新特性
- JDK5.0 新特性
- J2SE6.0新特性
- jquery easyui 授权树递归实现(部分Java代码)
- linux nand flash常用命令
- Dijkstra算法
- linux time 和 date 函数
- List类型转换为JSON
- iOS_5.0新特性_UIViewController切换
- gbk-utf8 在java类中进行转换
- 学习自动收集表统计信息比较重要的几个数字字典
- cmd循环调用native2ascii.exe
- 解析JSON问题(一)包含特殊字符
- 修改Chrome打开mms链接的默认程序
- ARM学习笔记020之_asm_、CPSR、SPSR、位置无关码等问题
- XP定时关机、查看和取消指令
- Create Aliases in Ubuntu