2009-05-03 19 views
3

Ich möchte ein benutzerdefiniertes Kontrollkästchen erstellen, das genau wie ein normales Kontrollkästchen funktioniert, aber anders aussieht. Wenn ich das normale Kontrollkästchen verwende, gibt es eine Möglichkeit, dies zu tun.Wie ändern Sie das Aussehen eines Kontrollkästchens?

P.S Dies ist Kakao ich spreche.

Antwort

6

Sie müssen NSButtonCell überschreiben. Sie verwenden drawInteriorWithFrame:inView: oder eine ähnliche Methode, um Ihre benutzerdefinierte Zeichnung zu erstellen. Wenn Sie noch nie zuvor benutzerdefinierte Zellen verwendet haben, kann es eine Lernerfahrung sein, aber es gibt eine Menge guter Ratschläge, wie zum Beispiel this page.

Sie könnten auch ein Open-Source-Framework wie BGHUDAppKit für ein Beispiel betrachten.

+0

Wie implementieren Sie die BGHUDAppKit? – Joshua

+0

Es ist nur ein Standard-Framework, finden Sie Anweisungen im Wiki: http://code.google.com/p/bghudappkit/wiki/UsingFramework –

+0

Wie laden Sie BGHUDAppKit? – Joshua

4

Als Nebenbemerkung, wenn das einzige, was Sie tun müssen, ändern Sie das Bild 'überprüfen' von der Standard von Apple, dann gehen Sie zu den Eigenschaften des NSButton in XCode/Interface Builder und wählen Sie ein Bild und ein Alternatives Bild Dasselbe gilt für Radioknöpfe.

+0

Es gibt zwei Versionen des "alternativen Bildes": Das weiße Häkchen auf blauem Hintergrund (wenn das Fenster scharf eingestellt ist - die Systemeinstellungen sind auf "blau" und nicht auf "Graphit" eingestellt) und der schwarze Haken auf weißem Hintergrund (wenn der Fenster hat keinen Fokus). Das Abfragen der 'alternateImage'-Eigenschaft und das Schreiben des Mages in die Datei ergibt die "aktive Version". Wie kann ich ein benutzerdefiniertes Bild so einstellen, dass es sich so verhält? (schwarze Kontur vs. blaue Füllung) –

+0

Auch - zumindest seit Yosemite - scheint das Häkchen in die Position zu animieren (durch Vergrößern von "Zero size"), wenn das Kontrollkästchen aktiviert wird. Es sieht nicht so aus, als ob es eine einfache Möglichkeit gäbe, den Standard-Tick für mein benutzerdefiniertes Bild zu vertauschen und die gleichen Effekte "kostenlos" zu erhalten ... –

Verwandte Themen