#import "ViewController.h"

@interface ViewController ()
@property (weak, nonatomic) IBOutlet UIView *redView; @end @implementation ViewController - (void)viewDidLoad {
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib. } -(void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event { //1.创建动画对象(设置layer的属性值.)
CABasicAnimation *anim = [CABasicAnimation animation];
//2.设置属性值
anim.keyPath = @"position.x";
anim.toValue = @; //动画完成时, 会自动删除动画
anim.removedOnCompletion = NO;
anim.fillMode = @"forwards"; //3.添加动画:key值是为了区分不同的动画
[self.redView.layer addAnimation:anim forKey:nil]; }

核心动画之作用在层上面.

动画的本质是改图层的某一个属性.

CABasicAnimation *anim = [CABasicAnimation animation];

图层有那些属性,这里才能写那些属性.

anim.keyPath = @"transform.scale";

anim.toValue = @0.5;

告诉动画完成的时候不要移除

anim.removedOnCompletion = NO;

保存动画最前面的效果.也就是最后一个设置的效果

anim.fillMode = kCAFillModeForwards;

把动画添加到层上面.

[_redView.layer addAnimation:anim forKey:nil];

二:心跳效果

#import "ViewController.h"

@interface ViewController ()
@property (weak, nonatomic) IBOutlet UIImageView *imageV; @end @implementation ViewController - (void)viewDidLoad {
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
} -(void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event { //创建动画对象
CABasicAnimation *anim = [CABasicAnimation animation]; //设置属性值
anim.keyPath = @"transform.scale";
anim.toValue = @; //设置动画执行次数
anim.repeatCount = MAXFLOAT; //设置动画执行时长
anim.duration = ; //自动反转(怎么样去 怎么样回来)
anim.autoreverses = YES; //添加动画
[self.imageV.layer addAnimation:anim forKey:nil]; } - (void)didReceiveMemoryWarning {
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
} @end

思路:就是让一张图片做一个放大缩放小的动画.

代码实现:

CABasicAnimation *anim =[CABasicAnimation  animation];

设置缩放属性

anim.keyPath = @"transform.scale";

缩放到最小

anim.toValue = @0;

设置动画执行的次数

anim.repeatCount = MAXFLOAT;

设置动画执行的时长

anim.duration = 0.25;

设置动画自动反转(怎么去, 怎么回)

anim.autoreverses = YES;

添加动画

[self.heartView.layer addAnimation:anim forKey:nil];

最新文章

  1. java.lang.RuntimeException: Method setUp in android.test.ApplicationTestCase not mocked. See http://g.co/androidstudio/not-mocked for details.
  2. Microsoft.Office.Interop.Excel, Version=12.0.0.0版本高于引用的程序集(已解决)
  3. [转]Mac 科研常用软件
  4. 采用 PAT工具及CSP语言,对一个问题进行自动机 建模
  5. MyBatis多数据源配置(读写分离)
  6. 将linux下的rm命令改造成移动文件至回收站【转】
  7. Search for a Range [LeetCode]
  8. python学习之--自定义函数:
  9. Effective Java2读书笔记-类和接口(一)
  10. JVM必备指南(转)
  11. POJ 2505 A multiplication game(找规律博弈/贪心)
  12. 环境:win7+ie8 IE8的F12不起作用,原因如下:
  13. 阿里云学习之IOT物联网套件(客户端与服务端的后台数据传输)
  14. input输入限制,只允许输入数字和“.”,长度不得超过20
  15. 【BZOJ5503】[GXOI/GZOI2019]宝牌一大堆(动态规划)
  16. Java组合模式
  17. Java基于opencv实现图像数字识别(五)—投影法分割字符
  18. PAT A1010 Radix (25 分)——进制转换,二分法
  19. CSS font-family 各名称一览表
  20. java之httpClient 3.x、AsyncHttpClient1.9.x使用总结

热门文章

  1. 从USB闪存驱动器启动 Hiren的BootCD --制作U盘启动盘
  2. js38---门面模式
  3. File Upload with Jersey
  4. EPC-9600I-L开发板使用
  5. 使用Multiplayer Networking做一个简单的多人游戏例子-1/2(换一种方法)
  6. COGS 163 [USACO Mat07] 牛语
  7. Java Web学习总结(1)——JavaWeb开发入门
  8. 91.生成ini文件并写入和读取ini文件
  9. &lt;%%&gt;创建内联代码块(表达式)
  10. scrapy-加蘑菇代理