2017-11-25 11 views
0

Wie wird die Metrik für die NSWindow-Rahmengröße bevorzugt? Grundsätzlich muss ich in Pixeln herausfinden, wie dick der Fensterrand ist.macOS-Fensterrahmengröße

Ich habe kürzlich gefunden, dass ich das tun muss, aber verschiedene Lösungen scheinen beträchtlich veraltet zu sein (d. H. Carbon und HITheme).

Antwort

2

Grundsätzlich Sie eine dieser NSWindow Methoden von einem Inhalts rect an einem Rahmen rect oder umgekehrt zu konvertieren und dann vergleichen Sie die beiden Rects:

+contentRectForFrameRect:styleMask: 
+frameRectForContentRect:styleMask: 
-contentRectForFrameRect: 
-frameRectForContentRect: 

Sie verwenden die Klassenmethoden, wenn Sie nicht tun ein bestimmtes Fenster zum Messen haben oder wenn Sie das Vorhandensein einer Symbolleiste ignorieren möchten.

Seit einiger Zeit gibt es keine "Grenze" an anderen Fenstern als oben (die Titelleiste).

+0

Vielen Dank. Ich habe diesen hier übertrieben. (Und der No-Border-Teil macht Sinn, da ich hier einen ziemlich alten Code portiere.) –