iOS 动画之Spring动画、Block动画、GIF图

Spring动画

Spring动画是一种特殊的动画曲线,自从iOS7之后开始被广泛应用在系统动画中。所谓的Spring动画就是动画在执行的过程中会有一个放大的效果,然后在回去。 创建Spring动画用到了下面的一个方法

- (void)springAnimation{
//Damping:阻尼值0 - 1、阻尼值越小动画越明显
//Velocity:初始速度
[UIView animateWithDuration:2.0 delay:0 usingSpringWithDamping:0.5 initialSpringVelocity:20
 options:UIViewAnimationOptionRepeat animations:^{
    self.redView.frame = CGRectMake(100, 300, 200, 200);
    self.redView.backgroundColor =[UIColor blackColor];
} completion:nil];
}
复制代码

Block动画

Block简单动画

示例:在Block的回调方法内改变动画的颜色

[UIView animateWithDuration:5 animations:^{
//需要改变的属性
self.redView.backgroundColor = [UIColor cyanColor];
}];
复制代码

Block复杂动画

相比较Block的简单动画来说Block的复杂动画能够在动画完成后,对动画做一些其他的操作 示例:在动画过程中改变将视图的颜色改为黄色,在动画结束的时候将视图的颜色改为红色。

[UIView animateWithDuration:2.0 animations:^{
self.redView.backgroundColor = [UIColor yellowColor];
} completion:^(BOOL finished) {
     if (finished) {//动画结束
       self.redView.backgroundColor = [UIColor redColor];
     }
}];
复制代码

GIF动图

简单来说,gif图片就是将一组图片放在一起,以极快的速度切换图片,这样就能实现一个动画的效果。西面来看具体的做法。

  • 首先,我们创建一个可变数组把我们需要用到的图象存储起来。
NSMutableArray *imageArray = [NSMutableArray array];
        for (int i = 1; i < 14; i++) {
            UIImage *image = [UIImage imageNamed:[NSString stringWithFormat:@"1-%d.tiff",i]];
            [imageArray addObject:image];
        }
复制代码
  • 然后创建一个imageView来显示图片
    UIImageView *imageView = [[UIImageView alloc]initWithFrame:CGRectMake(0, 0, 200, 200)];
    imageView.center = self.view.center;
    imageView.animationImages = imageArray;
    imageView.animationDuration = 0.5;//动画执行的时间
    imageView.animationRepeatCount = 10;//动画重复次数
    [self.view addSubview:_imageView];//开启动画
    [imageView startAnimating];
复制代码

在实际使用的过程中,通常我们会在不同的地方,来执行动画属性的操作,具体情况按照需求来实现。

转载于:https://juejin.im/post/5c1a0dfae51d450c2c0800ae

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值