2017-02-01 3 views
0

Ich versuche, DoubleClick-Ereignisse von meinem NSOutlineView auf meinen ViewController zu übergeben. Meine Idee ist doubleclick-Ereignisse zu fangen und die ausgewählte Zeile aus meinem OutlineView zu bekommen Was ich bisher tat, war Subklassen die NSOutlineView um mouseDown-Wie fange ich DoubleClick-Ereignisse von NSOutlineView in ViewController ab?

override func mouseDown(with event: NSEvent) { 
    super.mouseDown(with: event) 
    if event.clickCount >= 2 { 
     ... 
    } 
} 

, das gut funktioniert zu überschreiben aber ich weiß nicht, wie passieren dieses Ereignis zu meinem ViewController. Der ViewController implementiert bereits das NSOutlineViewDelegate-Protokoll.

Ich denke, dass die Lösung nicht weit weg ist, aber irgendwie bin ich fest.

+0

Ich möchte hinzufügen, dass ich möchte auch eine Auswahl Zeile, wenn nur ein Klick auftritt. Dann sollte die Zeile ausgewählt werden. Bei einem DoubleClick sollte ein anderes Event ausgelöst werden. –

+0

Ein anderes Ereignis neben der Auswahl der Zeile? – Russell

Antwort

1

AKTUALISIERT Obwohl Sie NSGestureRecognizer für Klick und NSClickGestureRecognizer für Doppelklicks in OSX einrichten können, sollten Sie wahrscheinlich die doubleAction Eigenschaft des NSOutlineView direkt verwenden.

Hier ist ein Beispiel dafür, wie es enter image description here

einzurichten Das kommt von einem anderen der Wenderlich tutorials, und es gibt eine gute Diskussion über SO already

+0

Sie können die Tippgeste in Cocoa verwenden? Das wusste ich nicht. –

+0

Entschuldigung - Ich habe verpasst, dass wir OSX sprechen, aber Sie können 'NSGestureRecognizer' anstelle von' UIGestureRecognizer' verwenden. Sehen Sie sich https://developer.apple.com/reference/appkit/nsgesture_recognizer – Russell

+0

@Russel an, danke für die Antwort. Ich bin von meinem Mac weg, aber wenn ich Sie richtig verstanden habe ich muss * Instanziieren eine NSClickGestureRecognizer (Ziel: MyViewController, Aktion: handleGesture) * Fügen Sie die GestureRecognizer meiner NSOutlineView * Implementieren einer handleGesture Methode in MyViewController –

Verwandte Themen