Swift UIImageView简单动画
2015-09-09 12:00
459 查看
UIImageView 如果要实现类似于grf的动画图 我们可以直接使用两中方式实现
方法一,设置动态图片
首先,我们需要一组实现动画的图片,按照顺序命名
如图所示 test
我们可以创建UIImage
然后将图片直接赋值给UIImageView即可
完成代码如下
执行看效果
方法二,通过数组图片赋值
这里我们稍微做复杂一点可以控制图片动画的开始结束
首先创建一个button用于控制动画
接下来我们创建UIImageView
然后创建图片数组用于动画
设置UIImageView
接下来我们实现刚才button的点击方法,控制动画开始结束
好了。运行试一下效果
大家有没有发现一个问题,那就是点击结束动画之后整个UIImageView都不显示了
这是因为我们只设置了UIImageView的 animationImages
而没有设置image的原因
我们修改一下代码即可
完整代码
好了。运行测试一下
苹果开发群 :414319235 欢迎加入 欢迎讨论问题
方法一,设置动态图片
首先,我们需要一组实现动画的图片,按照顺序命名
如图所示 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用于控制动画
//创建button let btn=UIButton.buttonWithType(UIButtonType.System) as!UIButton btn.frame=CGRectMake(20, 55, 120, 36) btn.setTitle("开始/结束", forState: UIControlState.Normal) btn.addTarget(self, action: "change", forControlEvents: UIControlEvents.TouchDown) self.view.addSubview(btn)
接下来我们创建UIImageView
//创建UIImageView let imgV=UIImageView(frame: CGRectMake(20, 100, 100, 100)) imgV.animationDuration=2.0 imgV.tag=99
然后创建图片数组用于动画
//创建图片 var images=[UIImage]() for i in 0...2{ let img=UIImage(named: "test\(i)") images.append(img!) }
设置UIImageView
//设置UIImageView的image imgV.animationImages=images //设置循环次数,0无限循环 imgV.animationRepeatCount=0 imgV.startAnimating() self.view.addSubview(imgV)
接下来我们实现刚才button的点击方法,控制动画开始结束
func change(){ let imgV=self.view.viewWithTag(99) as! UIImageView if 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)
//创建button let btn=UIButton.buttonWithType(UIButtonType.System) as!UIButton btn.frame=CGRectMake(20, 55, 120, 36) btn.setTitle("开始/结束", forState: UIControlState.Normal) btn.addTarget(self, action: "change", forControlEvents: UIControlEvents.TouchDown) self.view.addSubview(btn)
//创建UIImageView let imgV=UIImageView(frame: CGRectMake(20, 100, 100, 100)) imgV.animationDuration=2.0 imgV.tag=99
//创建图片 var images=[UIImage]() for i in 0...2{ let img=UIImage(named: "test\(i)") images.append(img!) }
//设置UIImageView的image
imgV.animationImages=images
//以上方法中设置了animationImages 我们会发现当停止动画的时候imgV上边直接没有图片了,如果需要点停止动画之后还能现实图片。我们需要设置图片
imgV.image=UIImage(named: "test2.png")
//设置循环次数,0无限循环
imgV.animationRepeatCount=0
imgV.startAnimating()
self.view.addSubview(imgV)
}
func change(){ let imgV=self.view.viewWithTag(99) as! UIImageView if imgV.isAnimating(){ imgV.stopAnimating() }else{ imgV.startAnimating() } }
好了。运行测试一下
苹果开发群 :414319235 欢迎加入 欢迎讨论问题
相关文章推荐
- swift 它们的定义TabBarItem
- 《从零开始学Swift》学习笔记(Day 9)——离开表达式你试试!
- swift 自定义输入框frame、placeholder frame的textfield
- Swift UIImageView 构造方法
- Swift 2.0学习笔记(Day 10)——运算符是“ +、-、*、/ ”吗?
- swift错误 Command /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/
- swift单例
- Swift10大开源项目记录
- swift详解之二十六-----------CALayer 判断是否点击hitTest 和 contensRect
- Swift OC 混编
- swift详解二十五 -------------- CALyer 几何学
- swift的基本使用(3)嵌套函数和闭包
- swift的基本使用(5)类和枚举
- Swift的基本使用(4)类和结构体
- swift怎么解决错误提示 'required' initializer 'init(coder:)' must be...这个问题
- Swift的基本使用(2)函数的定义
- Swift的一些基本使用(1)
- 从零开始自学Swift(一)
- swift中的闭包
- Xcode 6和 swift中文字,图片,xib的国际化和本地化