Ho una vista con funzionalità panGesture, ma ho bisogno di inviare un pan-gesture da un punto a un altro in modo programmatico. C'è un modo per farlo rapidamente usando un'animazione con un intervallo di tempo specifico? Qui è il mio tentativo di chiamare il gesto pan di programmazione:Come inviare una pangestura al volo in modo programmatico
var upPanPoint = CGPoint(x: contentView.center.x, y: contentView.center.y + 500)
var upPan = panGestureRecognizer.setTranslation(upPanPoint, inView: self)
onSwipe(upPan)
qui è il codice che riconosce il gesto pan:
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)
}
}
Grazie in anticipo!
magari cercare di chiamare alcuni metodi di contatto 'NSView' nel giusto ordine. – k06a
Forse dovresti impostare 'upPan.state' su' .Changed' (o qualche valore diverso da '.Possible', permettendoti di riconoscerlo). –
possibile duplicato di [UITapGestureRecognizer Attiva automaticamente un tocco nella mia vista] (http://stackoverflow.com/questions/14094691/uitapgesturerecognizer-programmatically-trigger-a-tap-in-my-view) – s1ddok