如何以编程方式快速发送pangesture

我有一个panGesturefunction的视图,但我需要发送一个平移手势从一个点到另一个编程。 有没有办法做到这一点迅速使用具有特定时间间隔的animation? 这是我尝试以编程方式调用平移手势:

var upPanPoint = CGPoint(x: contentView.center.x, y: contentView.center.y + 500) var upPan = panGestureRecognizer.setTranslation(upPanPoint, inView: self) onSwipe(upPan) 

这是识别平移手势的代码:

  func onSwipe(panGestureRecognizer : UIPanGestureRecognizer!) { let view = panGestureRecognizer.view! print(view) switch (panGestureRecognizer.state) { case UIGestureRecognizerState.Began: if (panGestureRecognizer.locationInView(view).y < view.center.y) { self.viewState.rotationDirection = .RotationAwayFromCenter } else { self.viewState.rotationDirection = .RotationTowardsCenter } case UIGestureRecognizerState.Ended: self.finalizePosition() default: let translation : CGPoint = panGestureRecognizer.translationInView(view) view.center = self.viewState.originalCenter + translation self.rotateForTranslation(translation, withRotationDirection: self.viewState.rotationDirection) self.executeOnPanForTranslation(translation) } } 

提前致谢!

 // The Pan Gesture func createPanGestureRecognizer(targetView: UIImageView) { var panGesture = UIPanGestureRecognizer(target: self, action:("handlePanGesture:")) targetView.addGestureRecognizer(panGesture) } func handlePanGesture(panGesture: UIPanGestureRecognizer) { // get translation var translation = panGesture.translationInView(view) panGesture.setTranslation(CGPointZero, inView: view) println(translation) // create a new Label and give it the parameters of the old one var label = panGesture.view as UIImageView label.center = CGPoint(x: label.center.x+translation.x, y: label.center.y+translation.y) label.multipleTouchEnabled = true label.userInteractionEnabled = true if panGesture.state == UIGestureRecognizerState.Began { // add something you want to happen when the Label Panning has started } if panGesture.state == UIGestureRecognizerState.Ended { // add something you want to happen when the Label Panning has ended } if panGesture.state == UIGestureRecognizerState.Changed { // add something you want to happen when the Label Panning has been change ( during the moving/panning ) } else { // or something when its not moving } } 
 let panGesture = UIPanGestureRecognizer(target: self, action: #selector(self.panGesture)) self.imageView.addGestureRecognizer(panGesture) func panGesture(sender: UIPanGestureRecognizer){ let point = sender.location(in: view) let panGesture = sender.view panGesture?.center = point print(point) }