WWDC2013_218 内容概要 ( 2 )

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(The new 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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值