2012-05-29 15 views
9

Ho fatto un bel po 'di riconoscimenti di gesti per iOS, ma ora sto lavorando su OS X e mi sono perso.Come posso implementare i riconoscitori di gesti in OS X?

Voglio duplicare la funzionalità che esiste come nel Finder, dove puoi scorrere con due dita (sul tuo mouse magico) per andare avanti/indietro attraverso un albero di directory.

Ho un'app basata su NSWindow che sembra molto simile a Finder. Ho usato app prima che ti permettono di creare i tuoi riconoscitori di gesti, quindi so che è possibile farlo, ma non vedo alcuna documentazione su di esso.

Cosa devo fare per implementare questi gesti?

risposta

3

È possibile leggere circa Handling Trackpad Events nella guida Gestione eventi Cocoa. Il sistema è in grado di rilevare alcuni gesti predefiniti (scorrere, ruotare, ecc.) Oppure ascoltare gli eventi di tocco non elaborati, che si spostano lungo la catena NSResponder, proprio come gli eventi normali del mouse.

0

Sembra che ci sia anche una classe di riconoscimento eventi in CZKit. https://github.com/CarterA/CZKit

Non ho ancora usato questo (ancora), quindi YMMV.

+0

Impossibile trovare nulla correlato ai gesti in tale lib. – eonist

+0

Non l'ho ancora usato, e dal README non riesco nemmeno a ricordare cosa dovrebbe fare, ma presumo che mi riferissi alla classe 'CZActionRecognizer' in questa directory: https://github.com/CarterA/ CZKit/tree/master/Libraries/CZUI/Classes Sembra che si suppone che sia una classe base per gesti/azioni generali. Sembra che dovrai comunque scrivere qualsiasi vero riconoscimento, a meno che tu non voglia riconoscere i clic. In bocca al lupo! – livingtech

+0

È un gestore di eventi generale per un potenziale evento di Gesture? Questa è la migliore interpretazione che posso fare. Potrebbe essere contestuale importante per qualcuno che immagino. Complimenti per lo sforzo di spiegare. :) Come nota per gli altri che cercano informazioni relative agli eventi gestuali: quello che ho trovato è che ci sono due approcci. Uno è quello di sovrascrivere i metodi di gesture in NSView. L'altro e più moderno approccio è quello di aggiungere "selettori" ai riconoscimenti di Gesture. Più tardi offre un controllo migliore su quando il gesto è iniziato e terminato, ecc. Sebbene lo stesso possa essere ottenuto ignorando. Non altrettanto facilmente. – eonist

2

Mac ha ora:

  • NSClickGestureRecognizer
  • NSMagnificationGestureRecognizer
  • NSPanGestureRecognizer
  • NSPressGestureRecognizer
  • NSRotationGestureRecognizer

Disponibile in storyboard troppo.