Ios 放大UIImageView时的弹性动画

Ios 放大UIImageView时的弹性动画,ios,swift,animation,Ios,Swift,Animation,我有一个UIImageView,里面有一个圆形png。我试图用0 x 0初始化它,并轻松地放大它,所以它看起来像一个气泡效果 在viewdilaod()中,我用CGSize对其进行了初始化,但是我不知道如何应用动画,这样它不仅可以以相同的速度缩放,而且看起来很有弹性(我的意思是,如果它达到100 x 100,它的工作原理类似于“boing”效果,也可以通过100 x 100,但当动画稳定下来时,它会以100 x 100结束) 类似于此,但从0x0开始,在100x100处停止,并使用UIImage

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

viewdilaod()
中,我用CGSize对其进行了初始化,但是我不知道如何应用动画,这样它不仅可以以相同的速度缩放,而且看起来很有弹性(我的意思是,如果它达到100 x 100,它的工作原理类似于“boing”效果,也可以通过100 x 100,但当动画稳定下来时,它会以100 x 100结束)

类似于此,但从0x0开始,在100x100处停止,并使用UIImageView

对于“弹性”动画,请调用UIView的
动画(withDuration:delay:usingSpringWithDamping:initialSpringVelocity:options:animations:completion:)
。较低的
阻尼值将在动画结束时增加振荡,就像在屏幕播放中一样

(形成此动画时,我建议设置视图缩放变换的动画,而不是其帧。)

对于“弹性”动画,请调用UIView的
动画(持续时间:延迟:使用SpringWithDamping:initialSpringVelocity:options:animations:completion:)
。较低的
阻尼值将在动画结束时增加振荡,就像在屏幕播放中一样


(形成此动画时,我建议设置视图缩放变换的动画,而不是其帧的动画。)

下面是一个代码示例,我用于使用类似于您发布的弹性/反弹动画来设置UIImageView的动画。在开始动画之前,我将imageView缩小到其大小的1%。然后,动画将imageView缩放回100%

     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)

下面是一个代码示例,我使用该示例为UIImageView设置了一个类似于您发布的弹性/反弹动画的动画。在开始动画之前,我将imageView缩小到其大小的1%。然后,动画将imageView缩放回100%

     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)

尝试此操作-您要查找的页面不存在:/尝试此操作-您要查找的页面不存在:/如果您能给出一些关于缩放变换的代码片段,我将非常高兴。我有点困惑。因为我不能使用:
logoCircularBg.transform=CGAffineTransform(scaleX:0.5,y:0.5)
为什么不能使用它?“不能用类型为“(scaleX:Double,y:Double)”的参数列表调用类型为“CGAffineTransform”的初始值设定项”那么也许你没有使用Swift 3,嗯?我让它工作了。我试着使用
动画宽度(1.5,延迟:1.0,使用springwithdamping:0.7,initialSpringVelocity:0.3…
CGAffineTransformMakeScale(1,1)
但我无法接近这一点。它要么变得如此缓慢,要么如此快速。它的行为不像boing,它反弹一次,立即达到100x100。我做错了什么?如果你能给出一些关于缩放变换的代码片段,我会非常高兴。我有点困惑。因为我不能使用:
logocrourcurbg.transferm=CGAffineTransform(scaleX:0.5,y:0.5)
为什么不能使用它?“无法使用类型为“(scaleX:Double,y:Double)”的参数列表调用类型为“CGAffineTransform”的初始值设定项”那么可能您没有使用Swift 3,嗯?我成功了。我尝试使用了
animateWithDuration(1.5,延迟:1.0,使用带阻尼的弹簧:0.7,初始弹簧速度:0.3…
CGAffineTransformMakeScale(1,1)
但是我无法接近它。它要么变得如此缓慢,要么如此快速。它的行为不像boing,它反弹一次,立即达到100x100。我做错了什么?