transform形变属性和UIImageView的帧动画

  • transform 属性 平移, 旋转, 缩放在ios开发中是不可缺少的,在demo中用处是不可小觑的

一. transform 属性,做形变,平移:
CGAffineTransformMakeTranslation(10, 0) : 在初始位置的基础上进行平移
CGAffineTransformTranslate(self.redView.transform, 10, 0) 可以多次生效, 以当前状态为基础

旋转:
CGAffineTransformMakeRotation:angle : 是弧度
M_PI_4 : 45°

如果传值为负 : 逆时针进行旋转

CGAffineTransformMakeRotation(M_PI_4)
CGAffineTransformRotate(self.redView.transform, -M_PI_4)

缩放:
CGAffineTransformMakeScale(1.2, 1.2) : x轴上放大1.2倍, y 轴上放大1.2 倍

如果想要缩小, 就传递小于1的值, 如果传递为负值, 这个view 就疯了

CGAffineTransformMakeScale(1.2, 1.2)
CGAffineTransformScale(self.redView.transform, 0.8, 0.5)

  • UIImageView的帧动画

  1. 创建一个可变数组 –> mutableArray, 用来存放, UIImage 对象, 要做动画的图片
  2. 执行一个for循环
  3. 拼接图片名称
  4. 实例化图片对象 –> UIImage
  5. 把UIImage对象添加到可变数组中
  6. 把可变数组赋值给UIImageView的animationImages

为imageView 设置 图片 –> 数组中最后一个UIImage对象
设置重复次数: animationRepeatCount : 如果不设置, 默认是无限循环
设置动画时间: 根据图片的个数来决定

  1. 开启动画
    [animationImageView startAaimating];
    加载图片的两种方式:

[UIImage imageNamed:imageString] : 就会产生缓存
优点: 下次访问的速度回比较快
缺点: 占用内存空间

// 通过 imageWithContentsOfFile: 加载图片 加载的图片比较大, 占用内存
优点: 不会产生缓存
缺点: 速度慢

NSString *imageString = [NSString stringWithFormat:@"%@%01d.png",name, i];

// 读取文件路径 , 要加上 文件的后缀
NSString *path = [[NSBundle mainBundle] pathForResource:imageString ofType:nil];

UIImage *image = [UIImage imageWithContentsOfFile:path];



延迟 duration 时间之后, self 调用 clearArrayPoint 参数 为nil
[self performSelector:@selector(clearArrayPoint) withObject:nil afterDelay:duration];


/**
_animationImageView : 在 duration 之后, 执行 setAnimationImages: 这个方法, 参数为nil
*/
[_animationImageView performSelector:@selector(setAnimationImages:) withObject:nil afterDelay:duration];

  • 如果放到bundle 中: imageNamed: 和 imageWithContentsOfFile:
    都是可用的

  • 使用图片的时候, 不管是jpg 还是 png 都要加上后缀名

  • 如果通过代码的方式 设置图片 png 不用设置后缀名 ,jpg 需要设置

  • 放置比较大的图片, 欢迎页面

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值