1.过渡动画 CATransition

   CATransition *animation = [CATransition animation];[animation setDuration:1.0];[animation setType:kCATransitionFade];[animation setSubtype:kCATransitionFromLeft];[_imgPic.layer addAnimation:animation forKey:nil];

说明:

  (1).Duration 延迟

  (2).Type

    kCATransitionFade      // 交叉淡化过渡(不支持过渡方向)

    kCATransitionMoveIn   // 新视图移到旧视图上面

    kCATransitionPush    // 新视图把旧视图推出去

      kCATransitionReveal   // 将旧视图移开,显示下面的新视图

    cube     // 立方体翻滚效果

    oglFlip  // 上下左右翻转效果

    suckEffect   // 收缩效果,如一块布被抽走(不支持过渡方向)

    rippleEffect // 滴水效果(不支持过渡方向)

    pageCurl     // 向上翻页效果

    pageUnCurl   // 向下翻页效果

    cameraIrisHollowOpen   // 相机镜头打开效果(不支持过渡方向)

    cameraIrisHollowClose  // 相机镜头关上效果(不支持过渡方向)

2.路径动画  CAKeyframeAnimation

    CAKeyframeAnimation *ani=[CAKeyframeAnimation animation];CGMutablePathRef aPath=CGPathCreateMutable();CGPathMoveToPoint(aPath, nil, 20, 20);CGPathAddCurveToPoint(aPath, nil, 20, 40,220, 40,240, 380);ani.path=aPath;ani.duration=10;ani.timingFunction=[CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseIn];ani.rotationMode=@"autoReverse";[redView.layer addAnimation:ani forKey:@"position"];

//特殊曲线 贝塞尔曲线

//贝塞尔曲线路径UIBezierPath *movePath = [UIBezierPath bezierPath];[movePath moveToPoint:CGPointMake(0.0, 0.0)];[movePath addQuadCurveToPoint:CGPointMake(self.view.frame.size.width/2.0, self.view.frame.size.height/2.0) controlPoint:CGPointMake(self.view.frame.size.width, self.view.frame.size.height)];

说明:(1).moveToPoint :动画起始位置

   (2).轨迹

   - (void)addQuadCurveToPoint:(CGPoint)endPoint controlPoint:(CGPoint)controlPoint;

   //endPoint 完成位置  controllerPoint  轨迹中的位置

3.基本类型  CABasicAnimation 事例

  //背景色动画CABasicAnimation *animation=[CABasicAnimation animation];//设置颜色animation.toValue=(id)[UIColor blueColor].CGColor;//动画时间animation.duration=1;//是否反转变为原来的属性值animation.autoreverses=YES;//把animation添加到图层的layer中,便可以播放动画了。forKey指定要应用此动画的属性[self.view.layer addAnimation:animation forKey:@"backgroundColor"];//缩放动画CABasicAnimation *scaleAnim = [CABasicAnimation animationWithKeyPath:@"transform"];scaleAnim.fromValue = [NSValue valueWithCATransform3D:CATransform3DMakeScale(0.1, 0.1, 1.0)];scaleAnim.toValue = [NSValue valueWithCATransform3D:CATransform3DIdentity];scaleAnim.removedOnCompletion = YES;//透明动画CABasicAnimation *opacityAnim = [CABasicAnimation animationWithKeyPath:@"alpha"];opacityAnim.fromValue = [NSNumber numberWithFloat:1.0];opacityAnim.toValue = [NSNumber numberWithFloat:0.1];opacityAnim.removedOnCompletion = YES;

4. UIViewAnimationWithBlocks

+ (void)transitionWithView:(UIView *)view duration:(NSTimeInterval)duration options:(UIViewAnimationOptions)options animations:(void (^ __nullable)(void))animations completion:(void (^ __nullable)(BOOL finished))completion
+ (void)animateWithDuration:(NSTimeInterval)duration delay:(NSTimeInterval)delay options:(UIViewAnimationOptions)options animations:(void (^)(void))animations completion:(void (^ __nullable)(BOOL finished))completion

// UIViewAnimationOptions

UIViewAnimationOptionLayoutSubviews //提交动画的时候布局子控件,表示子控件将和父控件一同动画。

UIViewAnimationOptionAllowUserInteraction //动画时允许用户交流,比如触摸

UIViewAnimationOptionBeginFromCurrentState //从当前状态开始动画

UIViewAnimationOptionRepeat //动画无限重复

UIViewAnimationOptionAutoreverse //执行动画回路,前提是设置动画无限重复

UIViewAnimationOptionOverrideInheritedDuration //忽略外层动画嵌套的执行时间

UIViewAnimationOptionOverrideInheritedCurve //忽略外层动画嵌套的时间变化曲线

UIViewAnimationOptionAllowAnimatedContent //通过改变属性和重绘实现动画效果,如果key没有提交动画将使用快照

UIViewAnimationOptionShowHideTransitionViews //用显隐的方式替代添加移除图层的动画效果

UIViewAnimationOptionOverrideInheritedOptions //忽略嵌套继承的选项

//时间函数曲线相关

UIViewAnimationOptionCurveEaseInOut //时间曲线函数,由慢到快

UIViewAnimationOptionCurveEaseIn //时间曲线函数,由慢到特别快

UIViewAnimationOptionCurveEaseOut //时间曲线函数,由快到慢

UIViewAnimationOptionCurveLinear //时间曲线函数,匀速

//转场动画相关的

UIViewAnimationOptionTransitionNone //无转场动画

UIViewAnimationOptionTransitionFlipFromLeft //转场从左翻转

UIViewAnimationOptionTransitionFlipFromRight //转场从右翻转

UIViewAnimationOptionTransitionCurlUp //上卷转场

UIViewAnimationOptionTransitionCurlDown //下卷转场

UIViewAnimationOptionTransitionCrossDissolve //转场交叉消失

UIViewAnimationOptionTransitionFlipFromTop //转场从上翻转

UIViewAnimationOptionTransitionFlipFromBottom //转场从下翻转

测试demo:https://github.com/lvdachao/animation

转载于:https://www.cnblogs.com/chaochaobuhuifei55/p/5834367.html

ios animation 动画效果实现相关推荐

  1. android中设置Animation 动画效果

    在 Android 中, Animation 动画效果的实现可以通过两种方式进行实现,一种是 tweened animation 渐变动画,另一种是 frame by frame animation ...

  2. animation动画效果 1002 css3

    animation动画效果 1002 css3 什么是动画 使用步骤 如何定义动画 @keyframes 动画名称{from{属性:值}percentage{属性:值}to{属性:值} } 或者 @k ...

  3. android编程xml动画,Android中xml设置Animation动画效果详解

    在Android中,Animation动画效果的实现可以通过两种方式进行实现,一种是tweened animation渐变动画,另一种是frame by frame animation画面转换动画. ...

  4. CSS animation动画效果实现精灵图、雪碧图动画,多动画应用

    CSS animation动画效果实现精灵图.雪碧图动画,多动画应用 素材下载 分析图片动画过程 图片可以分成4*6=24 小图片也就是24帧 方法1 可以把每一行成一个动画,所以可以拆分4个动画 方 ...

  5. Android Animation动画效果简介

    AlphaAnimation 淡入淡出动画  <alpha>A fade-in or fade-out animation. Represents an AlphaAnimation. a ...

  6. Android动画开发——Animation动画效果

    动画类型 Android的animation由四种类型组成 XML中 alpha 渐变透明度动画效果 scale 渐变尺寸伸缩动画效果 translate 画面转换位置移动动画效果 rotate 画面 ...

  7. iOS 转盘动画效果实现

    代码地址如下: http://www.demodashi.com/demo/11598.html 近期公司项目告一段落,闲来无事,看到山东中国移动客户端有个转盘动画挺酷的.于是试着实现一下,看似简单, ...

  8. android+动画悬浮窗口,悬浮窗能实现自定Animation动画效果吗?

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 我的软件运行后会直接去调用Service来显示悬浮的Button 后来在学习Dialog时认识了Animation,显示.退出对话窗时都能自定动画 就在想 ...

  9. 在GridView的行绑定中应用Animation动画效果

    今天做一个功能需要实现绑定GridView的行Button点击就实现Animation的动画效果,终于被我解决了!主要代码如下: GridVIew行绑定: <ItemTemplate>   ...

最新文章

  1. R语言可视化面积图(area chart)移除轴标签与实际图形之间的空白区域实战:默认的面积图、移除轴标签与实际图形之间的空白区域
  2. android 计算执行时间
  3. 熟练掌握HDFS的Shell访问
  4. C/C++笔试、面试题
  5. 用localStorage实现登录时记住密码的功能
  6. 自定义注解做数据验证
  7. sptk安装,编译流程
  8. 从需求到设计,嵌入式产品开发流程
  9. html静态网页模板cs4,Adobe Dreamweaver CS4 精简版
  10. Linux 下的 Docker 安装与使用
  11. Servlet笔记之(三)
  12. php开发神器 -- phpStudy
  13. [转]计算机语言的种类总结
  14. codeigniter中base_url和site_url
  15. java随机数种子_使用种子的Java随机数
  16. win10屡次自动打开系统代理服务器的解决办法
  17. 如何制作网站_如何制作自己的网站
  18. 国际知名制作公司名录及网址大全,制作人员必备
  19. Ubuntu 20.04 安装 ros 遇到的问题: The following packages have unmet dependencies
  20. 流处理引擎:ksql

热门文章

  1. java.sql.SQLException: Invalid utf8 character string: 'ACED00'
  2. R绘图 第十篇:绘制散点图(高级)
  3. DML、DDL、DCL是什么?
  4. 文件夹目录下所有的视频使用ffmpeg指定位置截图
  5. 2017年下半年计算机二级报名,2017河北大学下半年计算机二级报名时间
  6. Linux系统重装出现c0409a9f,自学IT吧论坛Linux系统运营系列视频教程#28期2016系统/服务器资源天地 - www.zxit8.com...
  7. 邓明善:一定要学会与机遇博弈
  8. 【sklearn】随机森林 - 预测用户是否离网
  9. 利用VBA代码合并多个Excel表格
  10. 全国计算机职称考试excel2003,全国计算机职称考试excel2003题库及答案.pdf