Swift UIImageView简单动画

Swift UIImageView简单动画,第1张

概述UIImageView 如果要实现类似于grf的动画图 我们可以直接使用两中方式实现 方法一,设置动态图片 首先,我们需要一组实现动画的图片,按照顺序命名 如图所示 test 我们可以创建UIImage let img1=UIImage.animatedImageNamed("test", duration: 2.0) 然后将图片直接赋值给UIImageView即可 完成代码如下

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简单动画所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/1084580.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-27
下一篇2022-05-27

发表评论

登录后才能评论

评论列表(0条)

    保存