
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用于控制动画
//创建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)) 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",100) self.vIEw .addSubvIEw(imgV3) //创建button let btn=UIbutton.buttonWithType(UIbuttonType.System) as!UIbutton btn.frame=CGRectMake(20,forControlEvents: UIControlEvents.touchDown) self.vIEw.addSubvIEw(btn) //创建UIImageVIEw let imgV=UIImageVIEw(frame: CGRectMake(20,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 UIImageView简单动画全部内容,希望文章能够帮你解决Swift UIImageView简单动画所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)