如何在单击按钮时用不同的点执行相同的动画 ios Swift

how to perform same animation with different points on button click ios Swift

我正在尝试通过单击按钮时的动画来提高温度 当我第一次点击按钮时它正在工作,但是当我再次点击按钮时没有任何反应。 我正在使用图像视图(红色)显示温度 这是我在后面使用的代码 ]2

        UIView.animateWithDuration(3.0, animations: {

        self.progress.transform =  CGAffineTransformMakeTranslation((self.progress.frame.origin.x -self.progress.frame.origin.x ), -30)
    })

每次我点击 + 按钮时它应该增加,但它没有发生 谁能解释是什么问题?

CGAffineTransformMakeTranslation 如果只是移动框架,则不一定需要。只需为视图设置一个新框架即可完成同样的操作。此外,如果您不在任何地方重置转换,则第二次没有任何动画。或者不是重置,您应该 increment/decrement 值 -30,而不是每次都使用相同的值。

要移动您的图像,您应该串联转换

UIView.animateWithDuration(3.0, animations: {

   let transform =  CGAffineTransformMakeTranslation(0, -30)
   self.progress.transform = CGAffineTransformConcat(self.progress.transform, transform)
})