Domanda

Ho difficoltà a scoprire come ottenere le coordinate del tap dall'oggetto tapEvent, che viene passato al mio gestore personalizzato (non ho comunque trovato le sue specifiche). C'è anche l'evento singleTap, che passa variabili personalizzate " X " come "Y", che è coordinate, immagino, ma non posso invocare quello in Emulatore.

Il punto è che sto lavorando su un'applicazione, in cui ho un grande elemento e ho bisogno di sapere dove è stato toccato esattamente l'utente (forse coordinata dello schermo globale o coordinata relativa del mio elemento).

Ecco il codice di esempio:

//inside of assistant's setup method:
Mojo.Event.listen(this.controller.get('elem'), Mojo.Event.tap, this.listenSingleTap.bindAsEventListener(this));

//custom handler:
SomeAssistant.prototype.listenSingleTap = function(singleTapEvent){
    this.someOtherMethod(singleTapEvent.x, singleTapEvent.y); //This is wrong and doesn't work - how I suppose to get tap coordinates?
}

Grazie mille per eventuali suggerimenti.

È stato utile?

Soluzione

Le coordinate xey per l'evento tap sono in " down " proprietà dell'evento.

Ex.

MyAssistant.prototype.setup = function() {
    Mojo.Event.listen(this.controller.get('elem'), Mojo.Event.tap, this.handleTap.bind(this));
}

MyAssistant.prototype.handleTap = function(event) { 
    Mojo.Log.info("tap down at x: " + event.down.x + " y: " + event.down.y);
}
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top