è possibile ottenere le coordinate xey di un tocco? Se così fosse, qualcuno potrebbe fornire un esempio molto semplice in cui le coordinate sono appena registrate sulla console.È possibile ottenere le coordinate xey di un tocco?
risposta
Utilizzando touchesBegan Evento
- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {
UITouch *touch = [[event allTouches] anyObject];
CGPoint touchPoint = [touch locationInView:self.view];
NSLog(@"Touch x : %f y : %f", touchPoint.x, touchPoint.y);
}
Questo evento viene attivato quando tocca inizia.
Utilizzando Gesto
Pubblica il tuo UITapGestureRecognizer in viewDidLoad:
Metodo
- (void)viewDidLoad {
[super viewDidLoad];
UITapGestureRecognizer *tapGesture = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(tapGestureRecognizer:)];
[self.view setUserInteractionEnabled:YES];
[self.view addGestureRecognizer:tapGesture];
}
Impostazione della funzione tapGestureRecognizer
// Tap GestureRecognizer function
- (void)tapGestureRecognizer:(UIGestureRecognizer *)recognizer {
CGPoint tappedPoint = [recognizer locationInView:self.view];
CGFloat xCoordinate = tappedPoint.x;
CGFloat yCoordinate = tappedPoint.y;
NSLog(@"Touch Using UITapGestureRecognizer x : %f y : %f", xCoordinate, yCoordinate);
}
Uscendo dal primo metodo che hai dato, usando i tocchi iniziati, come posso rendere le variabili globali di posizione xey? – AwesomeTN
Crea una variabile CGPoint nel tuo file .h e assegnala nel methoh sopraindicato. – icodebuster
I tocchi hanno iniziato a funzionare alla grande, ma non riesco a ottenere i tocchi. Per funzionare, non è esattamente la stessa cosa? – AwesomeTN
Ecco un esempio molto semplice (posizionarlo all'interno del vostro controller di vista):
- (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event {
UITouch *touch = [touches anyObject];
CGPoint currentPoint = [touch locationInView:self.view];
NSLog(@"%@", NSStringFromCGPoint(currentPoint));
}
Questo innesca ogni volta che il tocco si sposta. Puoi anche utilizzare touchesBegan:withEvent:
che si attiva all'avvio di un tocco e touchesEnded:withEvent:
che si attiva quando un tocco termina (cioè un dito viene sollevato).
È anche possibile farlo utilizzando uno UIGestureRecognizer
, che in molti casi è più pratico.
I c/p questo nel mio controller di visualizzazione e ho ricevuto un errore con NSLog, ma è stato risolto cambiando la stringa in NSSringFromCGPoint. Ma ancora non ho ricevuto nulla nella console, mi manca qualcosa? Grazie per il tuo aiuto – AwesomeTN
Non dovresti aggiungere altro codice per farlo funzionare. Potrebbe qualcos'altro catturare l'evento di tocco (ad esempio, c'è una sottoview come un pulsante che potrebbe impedire al tocco di passare alla visualizzazione di viewController)? – Ander
In sostanza, qualsiasi vista aggiunta a 'self.view' di viewController che non ha' .userInteractionEnabled = NO' catturerebbe il tocco e impedirà di andare ai metodi indicati nella risposta sopra. – Ander
Per prima cosa è necessario aggiungere un riconoscitore di gesti alla vista desiderata.
UITapGestureRecognizer *myTap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(myTapRecognizer:)];
[self.myView setUserInteractionEnabled:YES];
[self.myView addGestureRecognizer:myTap];
Poi nel metodo gesto riconoscitore si effettua una chiamata a locationInView:
- (void)myTapRecognizer:(UIGestureRecognizer *)recognizer
{
CGPoint tappedPoint = [recognizer locationInView:self.myView];
CGFloat xCoordinate = tappedPoint.x;
CGFloat yCoordinate = tappedPoint.y;
}
Si consiglia di dare un'occhiata al di Apple UIGestureRecognizer Class Reference
- 1. Come ottengo le coordinate di tocco su un UIButton personalizzato?
- 2. Ottenere le coordinate in coordinate
- 3. Android: Misura/rileva area coperta con un tocco del dito sullo schermo (NON solo le coordinate di tocco)
- 4. Come ottenere le coordinate globali di un nodo in JavaFX
- 5. E 'possibile ottenere un indirizzo dalle coordinate usando google maps?
- 6. strumento per ottenere le coordinate di un pixel dell'immagine
- 7. come ottenere le coordinate di un poligono in OpenLayers
- 8. Creare un livello su un'immagine e regolarne le coordinate tramite il tocco
- 9. Come ottenere le coordinate di un indirizzo in Android
- 10. Posso ottenere le coordinate di un div con JQuery?
- 11. Come ottenere un evento di tocco continuo?
- 12. Servizio Web per ottenere le coordinate GPS
- 13. Zoom pizzico - Ottenere coordinate touch
- 14. Come ottenere le coordinate dei caratteri riconosciuti
- 15. Come ottenere le coordinate della mappa dall'opuscolo
- 16. OpenLayer3 - come ottenere le coordinate della vista
- 17. ottenere coordinate di tocco (nel formato 0-480 e 0-320)
- 18. Come ottenere un evento di tocco su un CALayer?
- 19. È possibile ottenere l'output di un processo
- 20. Ottieni le coordinate di più tocchi in Swift
- 21. aggiungendo le etichette dell'asse xey in ggplot2
- 22. API di Google Maps - Ottenere le coordinate stradali
- 23. Come ottenere le coordinate assolute di una vista
- 24. Come ottenere tutte le coordinate poligonali di un'area specifica dell'immagine?
- 25. Come catturare le coordinate del touch-end?
- 26. Come ottenere le coordinate di un punto in un sistema di coordinate in base all'angolo e alla distanza
- 27. Coordinate touch nella visualizzazione testo
- 28. come ottenere un elenco di tutte le costanti che è possibile ottenere dalla console di rotaie
- 29. Impossibile ottenere l'evento di tocco per TYPE_SYSTEM_OVERLAY
- 30. È possibile ottenere tutte le sottoclassi di una classe?
Hai letto il riferimento UITouch Class? – rdelmar