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)