¿Cómo puedo mover una image en Swift?

Me gustaría poder mover un object (en mi caso, una image "cachorro") hasta 1 píxel cada vez que se presiona un button. Me he tropezado con las viejas soluciones de Objective-C y con el código Swift similar, pero ninguno que se ajuste a mi problema específico. Me encantaría saber una forma fácil de mover mi image. Este es mi código hasta ahora de lo que podría recostackr (espero que sea innecesariamente largo y pueda networkingucirse a una o dos líneas):

@IBAction func tapButton() { UIView.animateWithDuration(0.75, delay: 0, options: UIViewAnimationOptions.CurveLinear, animations: { self.puppy.alpha = 1 self.puppy.center.y = 0 }, completion: nil) var toPoint: CGPoint = CGPointMake(0.0, 1.0) var fromPoint : CGPoint = CGPointZero var movement = CABasicAnimation(keyPath: "movement") movement.additive = true movement.fromValue = NSValue(CGPoint: fromPoint) movement.toValue = NSValue(CGPoint: toPoint) movement.duration = 0.3 view.layer.addAnimation(movement, forKey: "move") } 

De esta forma puede cambiar una position de su imageView

 @IBAction func tapButton() { UIView.animateWithDuration(0.75, delay: 0, options: .CurveLinear, animations: { // this will change Y position of your imageView center // by 1 every time you press button self.puppy.center.y -= 1 }, completion: nil) } 

Y elimine todos los demás códigos de su acción de button.

Puedes hacerlo.

 func clickButton() { UIView.animateWithDuration(animationDuration, animations: { let buttonFrame = self.button.frame buttonFrame.origin.y = buttonFrame.origin.y - 1.0 self.button.frame = buttonFrame } } 
 CATransaction.begin() CATransaction.setCompletionBlock { () -> Void in self.viewBall.layer.position = self.viewBall.layer.presentationLayer().position } var animation = CABasicAnimation(keyPath: "position") animation.duration = ballMoveTime var currentPosition : CGPoint = viewBall.layer.presentationLayer().position animation.fromValue = NSValue(currentPosition) animation.toValue = NSValue(CGPoint: CGPointMake(currentPosition.x, (currentPosition.y + 1))) animation.removedOnCompletion = false animation.fillMode = kCAFillModeForwards viewBall.layer.addAnimation(animation, forKey: "transform") CATransaction.commit() 

Reemplaza viewBall a tu object de image

Y también elimine el bloque de finalización si no lo desea.