ios转场

什么是转场

  • 转场的本质是下一场景(子 VC)的视图替换当前的场景视图(子 VC)以及相应的控制器的切换,表现为当前视图消失和下一视图出现这一过程。

常用的转场

  • 在 UINavigationController 中 push 和 pop

  • 在 UITabBarController 中切换 Tab

  • Modal 转场:presentation 和 dismissal,俗称视图控制器的模态显示和消失,仅限于modalPresentationStyle属性为 UIModalPresentationFullScreen 或 UIModalPresentationCustom 这两种模式
    UICollectionViewController 的布局转场:UICollectionViewController 与 UINavigationController 结合的转场方式,实现很简单。

转场代理

[UINavigationControllerDelegate] //UINavigationController 的 delegate 属性遵守该协议(因识别问题,这里用方括号替换尖括号)
[UITabBarControllerDelegate] //UITabBarController 的 delegate 属性该协议
[UIViewControllerTransitioningDelegate] //UIViewController 的 transitioningDelegate 属性遵守该协议

转场发生时,UIKit 将要求转场代理将提供转场动画的核心构件:动画控制(遵守协议)。提供也就是返回给代理对象。

什么是转场动画(动画控制)

  • 基于上诉转场过程实现的的动画。

转场动画主要实现思路

  • 设置转场代理,

  • 实现代理方法,代理方法返回转场动画

  • 。转场动画对象遵循转场动画协议,转场动画对象实现代理方法两个,一个是 (NSTimeInterval)transitionDuration:(nullable id )transitionContext;

  • 另外一个是- (void)animateTransition:(id )transitionContext;

参考

  • http://www.jianshu.com/p/e7155f938e59
  • https://onevcat.com/2013/10/vc-transition-in-ios7/
  • http://www.cocoachina.com/ios/20160309/15605.html

你可能感兴趣的:(ios转场)