WWDC2013_218 内容概要 ( 2 )
来源:互联网 发布:好听的淘宝店名 编辑:程序博客网 时间:2024/05/12 12:22
WWDC2013_218 ——
Custom Transitions Using View Controllers ( 2 )
官方视频地址:https://developer.apple.com/wwdc/videos/
此文为自己总结的官方视频的内容概要,正在学习ing...
• Custom view controller transitions
1. Presentations and dismissals
Supported presentation styles
■ UIModalPresentationFullScreen
■ UIModalPresentationCustom(Thenew modal presentation type)
TIPS:
The from view controller is not removed from the window hierarchy ( * to which)
UIViewController *vc = ...;
id <UIViewControllerTransitioningDelegate> transitioningDelegate;
vc.modalPresentationStyle = UIModalPresentationCustom;
[vc setTransitioningDelegate: transitioningDelegate];
[self presentViewController:vc animated: YES completion: nil];
2. UITabBarController
Nothing to change
■ setSelectedViewController:(UIViewController *)vc;
■ setSelectedIndex:(NSUInteger)idx;
3. UINavigationController
• Nothing to change
■ pushViewController:animated:
■ popViewControllerAnimated:
■ setViewControllers:animated:
4. UICollectionViewController layout-to-layout transitions
• Layout-to-layout navigation transitions
UICollectionViewLayout *layout1,*layout2,*layout3;
UICollectionViewController *cvc1, *cvc2, *cvc3;
cvc1 = [cvc1 initWithCollectionViewLayout:layout1];
...
/* Basically all you need to do is set that one property to yes, and push your view controllers.And all of the view controllers that you push or pop will actually be transitioning, using set collection view layout.*/
[nav pushViewController:cvc1 animated:YES]
cvc2.useLayoutToLayoutNavigationTransitions = YES;
cvc3.useLayoutToLayoutNavigationTransitions = YES;
[nav pushViewController:cvc2 animated:YES];
[nav pushViewController:cvc3 animated:YES];
[nav popViewControllerAnimated:YES];
5. The anatomy of a transition
• Start state
■ Consistent view controller hierarchy and view hierarchy
• User or programmatic transition commences
• Internal structures are updated, callbacks made, etc.
• Container view, and start and final view positions are computed
• Optional animation to end state view hierarchy is run
• Animation completes
■ Internal structures are updated, callbacks made, etc. • End State
■ Consistent view controller hierarchy and view hierarchy
6. Wiring it all together
• Animation and interaction controllers are vended by delegates
<UIViewControllerTransitioningDelegate>
https://developer.apple.com/library/ios/documentation/uikit/reference/UIViewControllerTransitioningDelegate_protocol/Reference/Reference.html
<UINavigationControllerDelegate>
http://developer.apple.com/library/ios/#documentation/UIKit/Reference/UINavigationControllerDelegate_Protocol/Reference/Reference.html
<UITabBarControllerDelegate>
http://developer.apple.com/library/ios/documentation/uikit/reference/UITabBarControllerDelegate_Protocol/
• Animation controllers conform to a protocol
<UIViewControllerAnimatedTransitioning>
https://developer.apple.com/library/ios/documentation/UIKit/Reference/UIViewControllerAnimatedTransitioning_Protocol/Reference/Reference.html
• Interaction controllers conform to a protocol
<UIViewControllerInteractiveTransitioning>
https://developer.apple.com/library/ios/documentation/UIKit/Reference/UIViewControllerInteractiveTransitioning_protocol/Reference/Reference.html
• A system object passed to the controllers conforms to
<UIViewControllerContextTransitioning>
https://developer.apple.com/library/ios/documentation/UIKit/Reference/UIViewControllerContextTransitioning_protocol/Reference/Reference.html
- WWDC2013_218 内容概要 ( 2 )
- WWDC2013_218 内容概要 ( 1 )
- WWDC2013_218 内容概要 ( 3 )
- SpringMVC内容概要
- springmvc内容概要
- JavaScript DOM075编程艺术第2版:内容概要
- 概要设计说明书评测内容
- 9.7实训内容概要
- 概要设计说明书应包括的内容
- DICOM3.0标准文件内容概要
- 概要设计书的基本内容
- Postgres 8.4 的更新内容概要
- 概要设计主要描述哪些内容?
- 一份网站的商业计划书内容概要
- 概要、详细设计文档内容简述
- 软件概要设计应该体现哪些内容
- 某个项目的概要设计内容
- python基础内容概要(实时更新)
- SQL查询语句调优技巧
- ISC-dhcp server for IPv6 2011-07-26 15:34:31| 分类: linux |字号 订阅 1. 下载源码:http://www.isc.org/softw
- BigData
- 阿里“来往”的产品战略方向
- paip.python优缺点attilax总结
- WWDC2013_218 内容概要 ( 2 )
- Log4j的配置文件
- 说一说神器级别的码农编辑器sublime2以及常用插件
- spring中的一些概念
- MAX中制作空心圆柱/管道
- C语言内存分配方式及malloc,realloc,calloc,alloc.free函数
- Java线程:线程的交互
- windows下的dos窗口下vim 乱码解决
- linux 启动oracle 命令