首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >扩展UIImageView的弹性动画

扩展UIImageView的弹性动画
EN

Stack Overflow用户
提问于 2016-12-02 17:22:40
回答 2查看 1.6K关注 0票数 0

我有一个UIImageView,里面有一个圆形的png。我正试图用0 x 0初始化它,并轻松地将它放大,所以它看起来像是泡沫效应。

viewDidLaod()中,我用CGSize初始化了它,但是我不知道如何应用动画,所以它不仅以相同的速度扩展,而且看起来很灵活(我的意思是,如果它达到100 x 100,它的工作效果就像'boing‘效应,它也通过了100 x 100,但当动画结束时,它以100 x 100结束)。

代码语言:javascript
复制
logoCircularBg.frame.size = CGSize(width: 0, height: 0)
logoCircularBg.hidden = false

类似的内容,但从0x0开始,在100x100处停止,并使用UIImageView。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-12-02 17:30:53

要获得“弹性”动画,请调用UIView的animate(withDuration:delay:usingSpringWithDamping:initialSpringVelocity:options:animations:completion:)。较低的damping值会在动画结束时产生更大的振荡,就像在屏幕上一样。

(当您形成此动画时,我建议将视图的比例转换为动画,而不是它的框架。)

票数 3
EN

Stack Overflow用户

发布于 2019-08-29 08:24:16

下面是一个代码示例,我使用了一个像您发布的那样的弹性/弹跳动画来动画UIImageView。在开始动画之前,我将imageView缩小到其大小的1%。然后动画将imageView缩小到100%。

代码语言:javascript
复制
     self.myImageView.transform = CGAffineTransform(scaleX: 0.01, y: 0.01)
     UIView.animate(
        withDuration: 1.2,
        delay: 0.0,
        usingSpringWithDamping: 0.2,
        initialSpringVelocity: 0.2,
        options: .curveEaseOut,
        animations: {
            self.myImageView.transform = CGAffineTransform(scaleX: 1, y: 1)
        },
        completion: nil)
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40937748

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档