2009-11-18 6 views

Antwort

35

Es gibt eine eingebaute Möglichkeit, dies zu tun:

[[yourTextField cell] setBackgroundStyle:NSBackgroundStyleRaised]; 
+1

Gibt es eine Möglichkeit, die Highlight-Farbe davon zu bearbeiten? – coneybeare

+0

Ich denke nicht, das wird intern vom System behandelt. Sie müssten Ihren eigenen Zeichencode schreiben, um ihn zu ändern. –

6

Es ist ein billiger alter Trick: Sie zeichnen den Text in Weiß an einem Offset und zeichnen dann den schwarzen Text darüber.

Es gibt einen Haken für Schatten im Textzeichensystem, NSShadowAttributeName von NSAttributedString. Aber dies zu testen, scheint auch das Subpixel-Antialiasing zu zerstören.

+0

+1 macht sehr viel Sinn. Schön. –

+2

Gibt es keine bessere Lösung? Eine der zahlreichen OS X-Text-APIs muss es richtig machen ... Ich möchte kein anderes Label hinzufügen, da dies schwieriger zu warten ist und für Voice-Over-Nutzer wahrscheinlich störend sein wird. – Kornel

+1

Die Antwort bezieht sich auf das Zeichnen von zusätzlichem Text, nicht unbedingt das Hinzufügen eines zusätzlichen Labels. Sie könnten eine benutzerdefinierte Unterklasse von NSTextField mit benutzerdefiniertem Zeichencode erstellen. Dann brauchen Sie nur ein Etikett. –

Verwandte Themen