2015-01-28 11 views

Antwort

12

Sie fangen die entsprechenden mouseDown Ereignisse

import Cocoa 

class MyView : NSView { 
    override func mouseDown(theEvent : NSEvent) { 
     println("left mouse") 
    } 

    override func rightMouseDown(theEvent : NSEvent) { 
     println("right mouse") 
    } 
} 

Siehe für mehr Magie NSResponder.

Swift 4

import Cocoa 

class MyView : NSView { 
    override func mouseDown(with theEvent: NSEvent) { 
     print("left mouse") 
    } 

    override func rightMouseDown(with theEvent: NSEvent) { 
     print("right mouse") 
    } 
} 
+0

Dank! Aber wie kann ich diese benutzerdefinierte Klasse anpassen? Oder überschreibt es jedes NSView? Ich habe das NSView wie 'let theView = NSView()' deklariert. Aber ich denke, ich muss angeben, dass meine Variable von der 'MyView' abhängt? – ixany

+0

NSView selbst ist nicht so nützlich, außer als Container für andere Ansichten. Es ist eine der Dinge, die Sie im Allgemeinen unterklassifizieren, um das Verhalten zu erhalten, das Sie brauchen. In Ihrem Fall erkennen Sie links und rechts Klicks und machen etwas damit. –

+0

löste mein Problem und auch ... ich lernte eine Menge über Unterklassen. Ich danke dir sehr! – ixany

Verwandte Themen