iOS-转场动画之神奇移动效果

作者: 冰风v落叶 | 来源:发表于2016-08-09 17:05 被阅读421次

今天来做一下神奇移动效果,利用了present的转场动画:


神奇移动.gif

我总结了一下使用转场动画的过程:(假设是从VC1 present VC2)

1.设置VC1的transitioningDelegate = self,并遵守<UIViewControllerTransitioningDelegate>协议

2.present到VC2之前,设置VC2的transitioningDelegate,并遵守 <UIViewControllerTransitioningDelegate>协议 (这里你可以共有一个对象完成协议的方法,也可以分别用两个对象完成对应的协议方法)

3.凡是遵守<UIViewControllerTransitioningDelegate>协议的对象,都要实现下面其中一个方法:

#pragma mark - UIViewControllerTransitioningDelegate

//这个是VC1应该实现的方法,因为VC1是present

- (id)animationControllerForPresentedController:(UIViewController*)presented presentingController:(UIViewController*)presenting sourceController:(UIViewController*)source{

return [ImageAnimationTransition transitionAnimationWithType:KAnimationTypePresent];

}
//这个是VC2应该实现的方法,因为VC2是dismiss

- (id)animationControllerForDismissedController:(UIViewController*)dismissed{

return [ImageAnimationTransition transitionAnimationWithType:KAnimationTypeDismiss];

}

4.创建一个继承自<NSObject>的类,我这里命名为ImageAnimationTransition,并遵守<UIViewControllerAnimatedTransitioning>协议,并且在其中实现两个协议方法:

//动画的持续时间

- (NSTimeInterval)transitionDuration:(id)transitionContext{

    return0.7;

}
/*

要实现的动画的逻辑

这里要注意的是:(所谓容器,指UIView* containerView = [transitionContext containerView];)

        1.present时,必须在容器中addSubView:toVC.view

        2.dismiss时,必须在容器中addSubView:fromVC.view

        3.当你完成你的动画逻辑之后,必须告诉上下文去结束动画,即:[transitionContext completeTransition:YES];

*/

- (void)animateTransition:(id)transitionContext{

     [UIView animateWithDuration:[self transitionDuration:transitionContext] animations:^{

     }completion:^(BOOL finished) {

          [transitionContext completeTransition:YES];

     }];

}

相关文章

  • iOS-转场动画之神奇移动效果

    今天来做一下神奇移动效果,利用了present的转场动画: 我总结了一下使用转场动画的过程:(假设是从VC1 pr...

  • 转场动画第二弹

    iOS自定义转场详解02——实现Keynote中的神奇移动效果 关于自定义转场动画,我都告诉你。

  • 动画

    CABasicAnimation基础核心动画 缩放动画 图片抖动 根据圆形的路径做移动的效果. 转场动画 创建转场...

  • UIView动画

    移动动画 转场动画

  • iOS 自定义转场动画

    本文记录分享下自定义转场动画的实现方法,具体到动画效果:新浪微博图集浏览转场效果、手势过渡动画、网易音乐启动屏转场...

  • iOS动画(四) --自定义转场动画

    本文记录分享下自定义转场动画的实现方法,具体到动画效果:新浪微博图集浏览转场效果、手势过渡动画、网易音乐启动屏转场...

  • Flutter - 页面转场动画

    一、页面转场动画效果

  • iOS自定义转场动画

    关于iOS的转场动画的实现: 转场动画实际上就是对View添加的转场效果,在CATransiton就已经给我们提供...

  • Core Animation之转场动画

    1、转场动画简单介绍 CAAnimation的子类,用于做转场动画,能够为层提供移出屏幕和移入屏幕的动画效果。iO...

  • Android 动画-共享元素动画

    一、简介 首先看下转场共享元素动画的效果: 转场共享动画的代码实现: 代码很简单,startActivity 传了...

网友评论

本文标题:iOS-转场动画之神奇移动效果

本文链接:https://www.haomeiwen.com/subject/qqsdsttx.html