2009-02-07 14 views
10

Per quanto posso dire, la struttura multitouch di iPhone invia la posizione di ciascun tocco ma non le dimensioni.L'iPhone può rilevare la dimensione di un tocco?

Desidero consentire all'utente di toccare un pulsante con la punta del pollice o di posizionare il pad del pollice su più pulsanti (non veri UIButtons) e il mio codice di tracciamento del tocco si rende conto che è necessario premere tutto pulsanti il ​​pollice è finito.

risposta

5

Poiché il UITouch gestisce il tocco e non si dice nulla sulla dimensione, direi di no. Faresti meglio a provare un altro approcio come un trascinamento ..

+0

trascinare potrebbe essere una buona idea. Fai in modo che non smetta di premere il primo pulsante fino a quando non si termina il trascinamento in modo da poter premere il pulsante A, trascinare sul pulsante B ed entrambi vengono premuti. Potrei provare questo. –

0

No, non è possibile utilizzare UIKit.

3

Sono quasi sicuro che l'hardware ottiene una lettura molto accurata dell'area toccata, ma il firmware dell'iPhone non fornisce queste informazioni allo sviluppatore. Come ha detto CiNN, UITouch non fornisce queste informazioni.

Tuttavia, l'hardware è lo stesso dei vecchi prodotti Fingerworks.com che ha effettivamente fornito allo sviluppatore i dati di tocco effettivi. Quindi, forse in una (molto) successiva versione del SO, verrebbero forniti profili tattili superficiali. potrebbe essere utile!

15

Tutte queste risposte sono errate. Il fatto che Apple non sembri sanzionare questo nelle app nello store è un'altra questione.

float vf = 10.0; 
id valFloat = [thisTouch valueForKey:"pathMajorRadius"]; 
if(valFloat != nil) { 
    vf = [valFloat floatValue]; 
} 

Vorrei davvero che questo problema venisse spinto di più dagli utenti e dagli sviluppatori.

+0

'valueForKey:' non è un'API privata tecnica, vero? Ti lascia solo scovare i valori privati ​​... È bello o non bello con le politiche del negozio di app? –

+1

Mi piace il tuo modo di pensare. :-) Fammi sapere se la tua app è stata approvata con questa spiegazione e la mia app verrà ripresentata il giorno successivo! (Il problema è la proprietà "pathMajorRadius", valueForKey è un mezzo pubblico legittimo per evitare un collegamento dinamico. Non accedi a queste informazioni private staticamente, e infatti, potrebbe finire per leggerlo solo attraverso alcune ... rare .. . e umm ... percorso complesso). – Rob

+0

Anch'io desidero l'accesso a questo. Ciò renderebbe molto più facile la programmazione dei riconoscimenti di gesti in stile "flick". Dovrei sperare che non sia "il punto" nel limitare questo. – StCredZero

Problemi correlati