动画:平移,旋转,缩放

缩放:

//创建动画对象CABasicAnimation *animation = [CABasicAnimation animation];animation.keyPath = @"bounds";//缩放动画类型
<pre name="code" class="objc">    animation.keyPath = @"position";//平移动画类型

animation.fromValue = [NSValue valueWithCGRect:CGRectMake(0, 0, 50, 50)];//起始值 animation.toValue = [NSValue valueWithCGRect:CGRectMake(0, 0, 300, 300)];//结束值 animation.duration = 2;//执行时间 animation.repeatCount = 0;//设置动画次数 animation.beginTime = CACurrentMediaTime();//延时执行 animation.removedOnCompletion = NO;//保持动画后的状态 animation.fillMode = kCAFillModeForwards;//保持动画后状态 [self.imageViewBall.layer addAnimation:animation forKey:nil];//给图层添加动画
旋转:

CABasicAnimation *animation = [CABasicAnimation animation];animation.keyPath = @"transform.rotation";//动画类型animation.fromValue = [NSNumber numberWithFloat:M_PI*2];//旋转多大animation.duration = 0.00001;//动画时长animation.repeatCount = MAXFLOAT;//重复次数animation.removedOnCompletion = NO;animation.fillMode = kCAFillModeForwards;//这两句是保持动画结束后的状态[self.imageViewBall.layer addAnimation:animation forKey:nil];

帧动画:

CAKeyframeAnimation *keyAnimation = [[CAKeyframeAnimation alloc]init];keyAnimation.keyPath = @"position";NSMutableArray *tempArray = [NSMutableArray array];//数组为每一次移动的CGRectNSMutableArray *tempArrayTime = [NSMutableArray array];//对应动画数组长度,设置每一个动画的百分比时间
keyAnimation.values = tempArray;//动画数组keyAnimation.keyTimes = tempArrayTime;//动画总的时长keyAnimation.duration = 3;//总动画时长keyAnimation.removedOnCompletion = NO;keyAnimation.fillMode = kCAFillModeForwards;[self.imageViewBall.layer addAnimation:keyAnimation forKey:nil];

贝赛尔曲线(实现效果是一个视图一直不停的围绕一个中心点转圈圈):

CAKeyframeAnimation *keyframeA = [[CAKeyframeAnimation alloc]init];keyframeA.keyPath = @"position";//    //设置动画路径范围,这个动画再旋转的时候会停止然后继续旋转
//    UIBezierPath *bezier = [UIBezierPath bezierPathWithOvalInRect:CGRectMake(50, 100, 250, 250)];keyframeA.path = bezier.CGPath;//类型转换
//    [bezier closePath];//关闭路径UIBezierPath *bezier2 = [UIBezierPath bezierPathWithArcCenter:CGPointMake(150, 200) radius:50 startAngle:0 endAngle:M_PI*2 clockwise:YES];//这个旋转动画不会暂停keyframeA.path = bezier2.CGPath;//类型转换keyframeA.duration = 0.5;keyframeA.repeatCount = MAXFLOAT;[self.imageViewBall.layer addAnimation:keyframeA forKey:nil];//给视图图层添加动画keyframeA.removedOnCompletion = NO;keyframeA.fillMode = kCAFillModeForwards;//操持原位

object-c 基础动画的学习总结相关推荐

  1. 零基础入门深度学习(4) - 卷积神经网络

    无论即将到来的是大数据时代还是人工智能时代,亦或是传统行业使用人工智能在云上处理大数据的时代,作为一个有理想有追求的程序员,不懂深度学习(Deep Learning)这个超热的技术,会不会感觉马上就o ...

  2. SolidWorks大师班:从基础到专业学习教程

    流派:电子学习| MP4 |视频:h264,1280×720 |音频:AAC,44.1 KHz 语言:英语+中英文字幕(根据原英文字幕机译更准确)|大小解压后:2.4 GB 含课程文件 |时长:3h ...

  3. iOS动画系列之五:基础动画之缩放篇旋转篇Swift+OC

    这一篇主要介绍基础动画之缩放和旋转.这些基本操作分享完之后,我想想可以找个稍微复杂一点点的动画做做啦. 这篇继续基础篇,分享一下缩放和旋转.因为整体思路和平移基本上没有变化,加上源代码里面也有OC版本 ...

  4. 零基础实践深度学习之Python基础

    零基础实践深度学习之Python基础 Python数据结构 数字 字符串 列表 元组 字典 Python面向对象 Python JSON Python异常处理 Python文件操作 常见Linux命令 ...

  5. 零基础入门深度学习(5) - 循环神经网络

    往期回顾 在前面的文章系列文章中,我们介绍了全连接神经网络和卷积神经网络,以及它们的训练和使用.他们都只能单独的取处理一个个的输入,前一个输入和后一个输入是完全没有关系的.但是,某些任务需要能够更好的 ...

  6. 零基础入门深度学习(7) - 递归神经网络

    无论即将到来的是大数据时代还是人工智能时代,亦或是传统行业使用人工智能在云上处理大数据的时代,作为一个有理想有追求的程序员,不懂深度学习(Deep Learning)这个超热的技术,会不会感觉马上就o ...

  7. 零基础入门深度学习(3) - 神经网络和反向传播算法

    无论即将到来的是大数据时代还是人工智能时代,亦或是传统行业使用人工智能在云上处理大数据的时代,作为一个有理想有追求的程序员,不懂深度学习(Deep Learning)这个超热的技术,会不会感觉马上就o ...

  8. 零基础入门深度学习 | 第一章:感知器

    北京 | 高性能计算之GPU CUDA课程11月24-26日3天密集学习 快速带你晋级阅读全文> 无论即将到来的是大数据时代还是人工智能时代,亦或是传统行业使用人工智能在云上处理大数据的时代,作 ...

  9. ASP.NET基础之HttpContext学习

    上一个随笔主要针对HttpModeul[ASP.NET基础之HttpModule学习]内容进行一个简单的学习:本章内容我将对ASP.NET另一个主要的知识点HttpContext进行学习:首先我们简单 ...

最新文章

  1. Excel-姓名列中同一个人汇总金额列,得出总金额
  2. iOS app SmartCost 开源
  3. helm安装postgres_添加到postgres数据库外的keycloak k8s helm chart环境参数
  4. [C++11]通过using定义基础类型和函数指针别名
  5. windows下OpenSSL加密证书安装步骤与使用方法
  6. IT人的好习惯和不良习惯总结
  7. 第十一章 图形视图、动画、状态机框架
  8. Android 给TextView中的字体加上“中间线”
  9. linux编程之信号
  10. LinkedHashMap介绍
  11. 【可视化编程一】关于Unity可视化编程(Visual Scripting)
  12. 如何实现Solidworks批量修改工程图模板?
  13. DCT和IDCT原始公式计算
  14. 数据结构(主席树,Bit):XTU 1247/COGS 2344. pair-pair
  15. MATHLAB GUI编程简易入门
  16. matlab仿真的实例,MATLAB仿真实例
  17. .9图片报错Execution failed for task ':app:mergeDebugResources'. Crunching Cruncher scrollbar_thumb.9.p
  18. mwan,意为mult-wan?
  19. 怎样用网址查询微信公众号的二维码
  20. Mybatis的5种分页方式

热门文章

  1. 《作为意志和表象的世界》_世界作为表象初论_叔本华
  2. 使用Python网络爬虫抓取牛客网题目
  3. Docker 镜像仓库 -- Harbor 搭建
  4. 互联网创业创意养成记5 - 剑走偏锋非正道
  5. 豆瓣电影的API接口豆瓣电影详情即将上映新片榜短影评
  6. 141公里——美国启动最长光量子通信网络
  7. 腾讯云公布大数据平台最新数据,日实时计算量超40万亿
  8. 微软股价创新高,突破300美元!我入职后,股票翻了10倍!
  9. 用CentOS 7打造合适的科研环境 :zhuan
  10. Spring-boot中使用nutz实践