UIView cambia su position en swift

¿Cómo hago que una UIView se deslice con un toque de un button desde su position original y la vuelven a bajar con solo presionar un button? En swift Xcode. Solo tengo esto hasta ahora, no sé si alguien puede ayudar. En swift xcode 6. Aprecie las respuestas. Actualmente he probado esto.

@IBOutlet weak var DynView: UIView!

@IBAction func btnUp(sender: AnyObject) { } 

Tienes que implementar una animation cambiando la position de DynView onclick. He aquí un ejemplo:

 @IBAction func btnUp(sender: AnyObject) { let xPosition = DynView.frame.origin.x //View will slide 20px up let yPosition = DynView.frame.origin.y - 20 let height = DynView.frame.size.height let width = DynView.frame.size.width UIView.animateWithDuration(1.0, animations: { dynView.frame = CGRectMake(xPosition, yPosition, height, width) }) } 

Hola, crea esto si lo deseas. Para Swift

Cree File Extends.Swift y añada este código

 /** Extension UIView by DaRk-_-D0G */ extension UIView { /** Set x Position :param: x CGFloat by DaRk-_-D0G */ func setX(#x:CGFloat) { var frame:CGRect = self.frame frame.origin.x = x self.frame = frame } /** Set y Position :param: y CGFloat by DaRk-_-D0G */ func setY(#y:CGFloat) { var frame:CGRect = self.frame frame.origin.y = y self.frame = frame } /** Set Width :param: width CGFloat by DaRk-_-D0G */ func setWidth(#width:CGFloat) { var frame:CGRect = self.frame frame.size.width = width self.frame = frame } /** Set Height :param: height CGFloat by DaRk-_-D0G */ func setHeight(#height:CGFloat) { var frame:CGRect = self.frame frame.size.height = height self.frame = frame } } 

Para uso (henetworkinga de UIView)

 inheritsOfUIView.setX(x: 100) button.setX(x: 100) view.setY(y: 100) 

Un poco combiné las dos respuestas más votadas en una y actualicé a Swift 3. Así que, básicamente, creo una extensión que anima una vista que se mueve a una position diferente:

 extension UIView { func slideX(x:CGFloat) { let yPosition = self.frame.origin.y let height = self.frame.height let width = self.frame.width UIView.animate(withDuration: 1.0, animations: { self.frame = CGRect(x: x, y: yPosition, width: width, height: height) }) } }