AnimationForPresentAndPop | 转场动画特效

摘 要

值得说明的是这个转场动能只能使用在一层中,即在你实现代理方法的那个视图中有这个视图转场动画,在下一个跳转视图中就没有了,可以创建一个baseViewController,在这个里面实现转场动画的协议,其他的视图都集成自这个类就可以在所有的视图中使用转场动画了,当然你也可以定义多个转场动画,轮换使用!

AnimationForPresentAndPop | 转场动画特效
所属分类:动画(Animation) 适用平台:IOS 软件作者:蓝色的风 最后更新:2015年07月22日

源码介绍

视图中使用了masonry类库进行视图控件的约束,再添加控件的地方使用约束直接控制位置,demo中一共使用了四种转场动画效果,分别是渐隐,缩放,开关门,折叠四种动画,masonry类库的使用在这不多说,使用转场动画时,遵循demo上的例子即可,

值得说明的是这个转场动能只能使用在一层中,即在你实现代理方法的那个视图中有这个视图转场动画,在下一个跳转视图中就没有了,可以创建一个baseViewController,在这个里面实现转场动画的协议,其他的视图都集成自这个类就可以在所有的视图中使用转场动画了,当然你也可以定义多个转场动画,轮换使用!

效果演示

AnimationForPresentAndPop | 转场动画特效

使用示例

  1. #pragma mark - 跳转开始的动画协议push过去的动画
  2. -(id<UIViewControllerAnimatedTransitioning>)animationControllerForPresentedController:(UIViewController *)presented presentingController:(UIViewController *)presenting sourceController:(UIViewController *)source{
  3.     return _animationBase;
  4. }
  1. #pragma mark -pop回来的动画
  2. -(id<UIViewControllerAnimatedTransitioning>)animationControllerForDismissedController:(UIViewController *)dismissed{
  3.     return _animationBase;
  4. }
  1. #pragma mark -导航栏代理方法
  2. -(id<UIViewControllerAnimatedTransitioning>)navigationController:(UINavigationController *)navigationController animationControllerForOperation:(UINavigationControllerOperation)operation fromViewController:(UIViewController *)fromVC toViewController:(UIViewController *)toVC{
  3.      if ([fromVC isKindOfClass:FirstAnimationViewController.class] && ![toVC isEqual:self]) return nil;
  4.     switch (operation) {
  5.         case UINavigationControllerOperationPush:
  6.            _animationBase.type = AnimationTypePresent;
  7.            return _animationBase;
  8.             break;
  9.         case UINavigationControllerOperationPop:
  10.             _animationBase.type = AnimationTypeDismiss;
  11.             return _animationBase;
  12.             break;
  13.     }
  14.     return nil;
  15. }
  1. ###最后要在遵循导航栏的协议
  2. self.navigationController.delegate = self;

下载地址

文件下载

发表评论

您必须登录才能发表评论!