Spring动画

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

- (void)springAnimation{
//Damping:阻尼值0 - 1、阻尼值越小动画越明显
//Velocity:初始速度
[UIView animateWithDuration:2.0 delay:0 usingSpringWithDamping:0.5 initialSpringVelocity:20options: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

iOS 动画之Spring动画、Block动画、GIF图相关推荐

  1. iOS 动画原理与实现--帧动画、逐帧动画、CALayer

    这篇文章不会教大家如何实现一个具体的动画效果,我会从动画的本质出发,来说说 iOS 动画的原理与实现方式. 什么是动画 动画,顾名思义,就是能"动"的画. 人的眼睛对图像有短暂的记 ...

  2. iOS动画详解(学习动画看这一篇就够了)

    2019独角兽企业重金招聘Python工程师标准>>> 原文出处:wu大维 动效设计一直是iOS平台的优势,良好的动效设计可以很好地提升用户体验.而动画则是动效的基础支撑.本动画将从 ...

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

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

  4. IOS开发基础之核心动画 基础动画、关键帧、组动画案例

    IOS开发基础之核心动画 基础动画.关键帧.组动画案例 案例源码在我的主页里.实现效果图 // // ViewController.m // 30-核心动画 // // Created by 鲁军 o ...

  5. iOS动画系列之四:基础动画之平移篇

    就像咱们之前说的,所有的动画都是在CALayer上面的.所以在做动画之前我们就要先建立一个CALayer,然后把动画作用在自己创建的这个CALayer上.如果不知道CALyer是啥,可以看看前面的分享 ...

  6. iOS教程:移动终端游戏动画设计的12个原则

    在移动设备用户体验设计领域,微妙精致的动画已成为非常重要的设计元素.为任何对象添加动画并不简单,需要观察研究在真实世界中物体是如何在时空中运动的,需要设计者关注细节,并且具有耐心.适当的动画能够提供清 ...

  7. 关东升的《iOS实战:图形图像、动画和多媒体卷(Swift版)》上市了

    关东升的<iOS实战:图形图像.动画和多媒体卷(Swift版)>上市了 承蒙广大读者的厚爱我的<iOS实战:图形图像.动画和多媒体卷(Swift版)>京东上市了,欢迎广大读者提 ...

  8. iOS开发 tabbar自定义转场动画

    1.小记 关于自定义转场动画,只要你理清他的"套路",你就可以随心所欲地自定义了. 大体思路就是:遵守对应的代理协议,然后设置对应的代理,实现代理方法,这个代理方法要返回的值就是你 ...

  9. iOS 手机淘宝加入购物车动画分析

    iOS 手机淘宝加入购物车动画分析 1.最终效果 仿淘宝动画 2.核心代码 _cartAnimView=[[UIImageView alloc] initWithFrame:CGRectMake(_p ...

最新文章

  1. 事关人类生存?为什么要探寻AI系统的可解释性?
  2. ubuntu装机必备
  3. Vue.js的复用组件开发流程
  4. IntelliJ IDEA的配置优化
  5. boost::container模块实现基本分配的测试程序
  6. tampermonkey怎么不能用了_iPhone12无线充电不能用怎么办-苹果12无线充电失效原因...
  7. 客户端通过SSH private key 登录远端服务器
  8. java 当前时间格式_JAVA中获取当前系统时间及格式转换
  9. 软件设计师12-数据库(数据操作)
  10. 让java类继承TBase进行序列化
  11. 深度学习: 推进人工智能的梦想
  12. linux学习之使用piranha配置高可用集群
  13. 如何提取html 信息,从html中提取信息?
  14. 共读四步法:看见正向核心的力量—欣赏式探询共读会
  15. HTML5表单新特征简介与举例
  16. 香格里拉是如何策划成功的?
  17. CloudFoundry 环境上的 Java 应用开发如何指定 build pack
  18. 计算机积分符号,积分符号积分区间怎么打出来
  19. STM32 cube vcp虚拟USB
  20. ShareSDK分享

热门文章

  1. Python Cookbook(第3版)pdf
  2. unity, 取消ugui button响应键盘
  3. ListT to DataTable
  4. 如何在网络视听行业建一扇内容安全大门?
  5. 简练软考知识点整理-公邀竞单询其
  6. MVC5 Entity Framework学习参加排序、筛选和排序功能
  7. consul集群搭建,配合nginx完成服务动态发现和健康检查
  8. [乐意黎原创] cuteftp 9 显示中文乱码
  9. OC高效率52之提供“全能初始化”方法
  10. Movie播放Gif,完美实现屏幕适配