[FIXED] So finden Sie heraus, ob sich die Maus über einer Ansicht befindet

Ausgabe

Ich muss herausfinden, ob sich die Mausposition im Rect eines NSView befindet.

Ich würde verwenden NSPointInRect(point, rect), aber ich müsste die Rect-Koordinaten in Bildschirmkoordinaten umwandeln, und ich bin mir nicht sicher, wie. Jede Hilfe wäre sehr willkommen!

Lösung

Verwenden Sie die Methode convertPoint:fromView: von NSView mit fromView als nil , um einen Punkt in Fensterkoordinaten in das Koordinatensystem einer Ansicht umzuwandeln.

Nach dem Konvertieren des Mauszeigers in das Koordinatensystem der Ansicht würde ich die mouse:inRect: -Methode von NSView anstelle von NSPointInRect verwenden, da erstere auch gespiegelte Koordinatensysteme berücksichtigt.

Alternativ könnten Sie ein Tracking Area Object verwenden .


Beantwortet von –
Matt Bierner


Antwort geprüft von –
Pedro (FixError Volunteer)

0 Shares:
Leave a Reply

Your email address will not be published. Required fields are marked *

You May Also Like