¿Alguna idea de si hay una manera de obtener la longitud de un gesto de deslizar o los toques para que pueda calcular la distancia?UISwipeGestureRecognizer Longitud del deslizamiento
Respuesta
Es imposible alejarse de un gesto de deslizamiento, ya que SwipeGesture activa el método donde puede acceder a la ubicación exactamente una vez, cuando el gesto ha finalizado.
Quizás desee utilizar un UIPanGestureRecognizer.
Si le es posible utilizar el gesto pan, guardaría el punto inicial de la bandeja y, si la bandeja ha terminado, calcule la distancia.
- (void)panGesture:(UIPanGestureRecognizer *)sender {
if (sender.state == UIGestureRecognizerStateBegan) {
startLocation = [sender locationInView:self.view];
}
else if (sender.state == UIGestureRecognizerStateEnded) {
CGPoint stopLocation = [sender locationInView:self.view];
CGFloat dx = stopLocation.x - startLocation.x;
CGFloat dy = stopLocation.y - startLocation.y;
CGFloat distance = sqrt(dx*dx + dy*dy);
NSLog(@"Distance: %f", distance);
}
}
Solo puede hacerlo de una manera estándar: recuerde el punto de contacto TouchBegin y compare el punto desde touchEnd.
Para aquellos de nosotros usando Xamarin:
void panGesture(UIPanGestureRecognizer gestureRecognizer) {
if (gestureRecognizer.State == UIGestureRecognizerState.Began) {
startLocation = gestureRecognizer.TranslationInView (view)
} else if (gestureRecognizer.State == UIGestureRecognizerState.Ended) {
PointF stopLocation = gestureRecognizer.TranslationInView (view);
float dX = stopLocation.X - startLocation.X;
float dY = stopLocation.Y - startLocation.Y;
float distance = Math.Sqrt(dX * dX + dY * dY);
System.Console.WriteLine("Distance: {0}", distance);
}
}
En Swift
override func viewDidLoad() {
super.viewDidLoad()
// add your pan recognizer to your desired view
let panRecognizer = UIPanGestureRecognizer(target: self, action: Selector("panedView:"))
self.view.addGestureRecognizer(panRecognizer)
}
func panedView(sender:UIPanGestureRecognizer){
if (sender.state == UIGestureRecognizerState.Began) {
startLocation = sender.locationInView(self.view);
}
else if (sender.state == UIGestureRecognizerState.Ended) {
let stopLocation = sender.locationInView(self.view);
let dx = stopLocation.x - startLocation.x;
let dy = stopLocation.y - startLocation.y;
let distance = sqrt(dx*dx + dy*dy);
NSLog("Distance: %f", distance);
if distance > 400 {
//do what you want to do
}
}
}
Esperamos que ayuda a todo lo que los pioneros Swift
func swipeAction(gesture: UIPanGestureRecognizer) {
let transition = sqrt(pow(gesture.translation(in: view).x, 2)
+ pow(gesture.translation(in: view).y, 2))
}
Tenga en cuenta: se desaconsejan las respuestas de solo código. Por favor agrega un poco de explicación. – GhostCat
- 1. Problema de gestos: UISwipeGestureRecognizer + UISlider
- 2. Anular gesto de deslizamiento en UITableView
- 3. deslizamiento UISearchBar
- 4. Android SimpleOnPageChangeListener - Determinar la dirección del deslizamiento
- 5. wp7 selección deslizamiento horizontal
- 6. Cómo tener un trabajo UISwipeGestureRecognizer Y UIPanGestureRecognizer en el mismo punto de vista
- 7. Tweetie como menú de deslizamiento
- 8. Longitud máxima del identificador
- 9. Longitud del intervalo lubridate
- 10. Efecto de deslizamiento en ExpandableListView
- 11. longitud máxima del nombre del archivo
- 12. Longitud del campo del código de barras
- 13. Comportamiento de deslizamiento para aplicaciones táctiles
- 14. Obteniendo la longitud del video
- 15. Nombre máximo del método Longitud
- 16. Longitud máxima del título Atributo
- 17. desplazamiento/deslizamiento de fondo en lienzo html5
- 18. Deslizamiento progresivo al siguiente elemento Panorama
- 19. Almacenamiento de imagen de NHibernate: la longitud del valor del byte [] supera la longitud configurada
- 20. Longitud máxima dirección IP del cliente
- 21. Comprobando la longitud del objeto de diccionario
- 22. Comprobar la longitud del valor de entrada
- 23. Nombre de visualización del paquete Longitud máxima
- 24. JavaScript literal longitud del objeto === undefined?
- 25. Comprobar la longitud del campo usando awk
- 26. Obtener la longitud del conjunto bidimensional
- 27. Obtener longitud o duración del archivo .wav
- 28. Calcular la longitud del contenido de POST
- 29. Calculando la longitud del diccionario en Flex
- 30. Hallando la longitud del contorno en opencv
creo que sólo puede obtener dirección fr om UISwipeGestureRecognizer. Tal vez puedas obtener la posición donde comienza el toque y dónde termina y calcular el largo de eso. – picknick