UIImageView 如果要实现类似于grf的动画图 我们可以直接使用两中方式实现

方法一,设置动态图片

首先,我们需要一组实现动画的图片,按照顺序命名

如图所示 test

我们可以创建UIImage

        let img1=UIImage.animatedImageNamed("test", duration: 2.0)

然后将图片直接赋值给UIImageView即可

完成代码如下

        //使用img来实现动画let img1=UIImage.animatedImageNamed("test", duration: 2.0)let imgV3=UIImageView(image: img1)imgV3.frame=CGRectMake(20, 500, 100, 100)self.view .addSubview(imgV3)

执行看效果

方法二,通过数组图片赋值

这里我们稍微做复杂一点可以控制图片动画的开始结束

首先创建一个button用于控制动画

        //创建buttonlet btn=UIButton.buttonWithType(UIButtonType.System) as!UIButtonbtn.frame=CGRectMake(20, 55, 120, 36)btn.setTitle("开始/结束", forState: UIControlState.Normal)btn.addTarget(self, action: "change", forControlEvents: UIControlEvents.TouchDown)self.view.addSubview(btn)

接下来我们创建UIImageView

        //创建UIImageViewlet imgV=UIImageView(frame: CGRectMake(20, 100, 100, 100))imgV.animationDuration=2.0imgV.tag=99

然后创建图片数组用于动画

        //创建图片var images=[UIImage]()for i in 0...2{let img=UIImage(named: "test\(i)")images.append(img!)}

设置UIImageView

        //设置UIImageView的imageimgV.animationImages=images//设置循环次数,0无限循环imgV.animationRepeatCount=0imgV.startAnimating()self.view.addSubview(imgV)

接下来我们实现刚才button的点击方法,控制动画开始结束

    func change(){let imgV=self.view.viewWithTag(99) as! UIImageViewif imgV.isAnimating(){imgV.stopAnimating()}else{imgV.startAnimating()}}

好了。运行试一下效果

大家有没有发现一个问题,那就是点击结束动画之后整个UIImageView都不显示了

这是因为我们只设置了UIImageView的 animationImages

而没有设置image的原因

我们修改一下代码即可

完整代码

    override func viewDidLoad() {super.viewDidLoad()//UIImageView 一些简单动画//使用img来实现动画let img1=UIImage.animatedImageNamed("test", duration: 2.0)let imgV3=UIImageView(image: img1)imgV3.frame=CGRectMake(20, 500, 100, 100)self.view .addSubview(imgV3)//创建buttonlet btn=UIButton.buttonWithType(UIButtonType.System) as!UIButtonbtn.frame=CGRectMake(20, 55, 120, 36)btn.setTitle("开始/结束", forState: UIControlState.Normal)btn.addTarget(self, action: "change", forControlEvents: UIControlEvents.TouchDown)self.view.addSubview(btn)//创建UIImageViewlet imgV=UIImageView(frame: CGRectMake(20, 100, 100, 100))imgV.animationDuration=2.0imgV.tag=99//创建图片var images=[UIImage]()for i in 0...2{let img=UIImage(named: "test\(i)")images.append(img!)}//设置UIImageView的imageimgV.animationImages=images//以上方法中设置了animationImages  我们会发现当停止动画的时候imgV上边直接没有图片了,如果需要点停止动画之后还能现实图片。我们需要设置图片imgV.image=UIImage(named: "test2.png")//设置循环次数,0无限循环imgV.animationRepeatCount=0imgV.startAnimating()self.view.addSubview(imgV)}func change(){let imgV=self.view.viewWithTag(99) as! UIImageViewif imgV.isAnimating(){imgV.stopAnimating()}else{imgV.startAnimating()}}

好了。运行测试一下

苹果开发群 :414319235  欢迎加入  欢迎讨论问题

Swift UIImageView简单动画相关推荐

  1. ppt 简单动画制作

    ppt 简单动画制作

  2. Android成长之路-实现简单动画

    实现简单动画: 在drawable目录中放入图片, 并且创建xml文件 frame.xml 存入图片,如下: [java] view plaincopy <pre class="htm ...

  3. css 右上角 翻开动画_css简单动画(transition属性)

    一.对transition属性的认识 1.transition 属性是一个简写属性,可用于设置四个过渡属性: transition-property     过渡效果的 CSS 属性的名称(heigh ...

  4. 计算机模拟数学实验动画,计算机图形学实验-简单动画的实现、三维图形变换.docx...

    安徽大学计算机实验教学中心PAGE 安徽大学计算机实验教学中心 PAGE 1 学号 专业 姓名 实验日期2018.12.11 教师签字 成绩 实验报告 [实验名称]简单动画的实现.三维图形变换 [实验 ...

  5. css3实现带有简单动画按钮导航

    用css3实现的带有简单动画的按钮导航,主要运用了transition技术 源代码下载地址:http://download.csdn.net/my点击打开链接 transition 语法: trans ...

  6. flash人物原地走路,Flash制作小人走路简单动画图文教程

    很多用户都想掌握Flash中的各种制作动画的技巧,今天极限下载小编就为大家分享如何利用Flash制作小人移动的动画,是对形状补间的一次简单运用,值得一说的是形状补间做的小人比起动画补间来说要轻松简明不 ...

  7. iOS CAReplicatorLayer 简单动画

    代码地址如下: http://www.demodashi.com/demo/11601.html 写在最前面,最近在看学习的时候,偶然间发现一个没有用过的Layer,于是抽空研究了下,本来应该能提前记 ...

  8. iOS核心动画详解swift版----基础动画

    2019独角兽企业重金招聘Python工程师标准>>> iOS核心动画详解swift版---基础动画 创建工程,添加2个ViewController,通过rootViewContro ...

  9. 如何使用 Swift 开发简单的条形码检测器?

    [编者按]本文作者为 Matthew Maher,主要手把手地介绍如何用 Swift 构建简单的条形码检测器.文章系 OneAPM 工程师编译整理. 超市收银员对货物进行扫码,机场内录入行李或检查乘客 ...

最新文章

  1. SQL Server 之AdventureWorks 2008 安
  2. iOS开发之Masonry框架源码深度解析
  3. 一些琐碎+分不清的知识点
  4. 三分钟Docker-镜像、容器实战篇
  5. 后端学习 - SpringBoot
  6. C++中引用()基础认识
  7. ClickHouse入门
  8. (摘要)新基建风口下,今年工业互联网平台将呈现十大新特征
  9. servlet技术是否过时
  10. VMware ESXI5.0的安装配置
  11. ajax常见的status状态码
  12. 假如有一门叫做 Ctrump 的编程语言...
  13. java斗地主随机发牌_使用Java实现斗地主游戏的发牌过程
  14. 空字符串(“”)和null的区别
  15. IEEE Access投稿(Latex模板)——参考文献的生成
  16. java 高斯投影_贡献高斯投影坐标与经纬度转换的java源码
  17. 开源音乐下载神器XMusicDownloader更新,支持歌单一键下载,支持无损音乐
  18. 图形学中常用计算几何总结
  19. C语言:统计一个文件中大写字符、小写字符、数字个数
  20. 原神紫晶块采集点位置在哪 紫晶块采集点路线图详情

热门文章

  1. echarts 全国地图,省市地图案例案例代码
  2. 全面了解苹果WWDC2020,一篇文章足矣
  3. JAVA移动支付微信和支付宝后台代码
  4. Echarts 5.x安装及使用
  5. 剖析GPT,背后的算法,文献,行业影响和中小企业落地建议
  6. rgv动态调度MATLAB代码,基于贪心算法的智能RGV的动态调度策略
  7. 今年最诱人的10大高校年夜饭,第一名是...
  8. 导航栏BottomNavigationBar使用
  9. python 基于情感词典的情感分析之乐,惧,惊,哀,恶,怒和未知七种情感分析
  10. 深入浅出MFC-学习笔记 Day 2