Benutzerdefinierte NSButton und NSButtonCell
-
10-10-2019 - |
Frage
Ich versuche, eine benutzerdefinierte Schaltfläche Look.
Von dem, was ich gesammelt habe, NSButtonCell
die Zeichnung der Fall ist, so sollte ich eigentlich überschreiben werden, dass statt.
Aber das Problem ist, meine Custombutton Klasse hat andere Dinge wie NSImage
, mIsMouseOver
usw. Derzeit ist die Zeichnung in der Klasse Custombutton getan wird, aber ich will es bewegen, um die Zelle über.
Frage ist, gibt es trotzdem ich das Bild in der Klasse Custombutton aus der Klasse customButtonCell zugreifen kann, so dass ich [image drawInRect:...]
verwenden?
Viele Grüße, Han
Lösung
Ihre Zelle drawWithFrame:(NSRect)frame inView:(NSView *)controlView
Verfahren enthält einen Verweis auf die NSView gezogen zu werden, von dem Sie die Eigenschaften der Ansicht zugreifen können (wie Bild).
Andere Tipps
üblicher Weg ist, die Daten in der NSCell Unterklasse zu speichern. Basiszelle Klasse selbst hat eine -. (Id) Bildeigenschaft, so sollten Sie Ihre Schaltfläche Klasse aufrufen [[self cell] image]
, wenn es für Bild abgefragt wird
Eigentlich, da Sie NSButton sind Subklassen, es enthält alles, was Sie brauchen, gerade Zelle Ziehverfahren außer Kraft setzen. Und wenn Sie eine zusätzliche Eigenschaft benötigen -. Definiert es in der Zelle, wickelt in der Steuerung