Ich habe ein NSWindow und ein horizontales NSSlider.Ändern NSSlider bar Farbe
Ich möchte die Farbe des rechten Teils des Schiebereglers ändern, wenn sich die Hintergrundfarbe des Fensters ändert.
Derzeit ist der rechte Teil der Bar nicht mehr sichtbar, wenn das Fenster Hintergrund dunkel ist.
Hinweis: Der Fensterhintergrund ist eigentlich ein Farbverlauf, den ich zeichne, indem ich drawRect
in einer Unterklasse der Fensteransicht überschreibe.
Ich dachte, ich könnte den Schieberegler Füllfarbe ändern NSSliderCell
von Subklassen und überschreiben eine Methode wie drawBarInside
aber ich verstehe nicht, wie es funktioniert: soll ich ein kleines quadratisches Bild machen und es immer wieder in der rect nach der Auslosung Knopf? Oder vielleicht einfach eine farbige Linie zeichnen? Ich habe das noch nie zuvor gemacht.
Ich habe mir this question angesehen und es ist interessant, aber es geht darum, den Knopf zu zeichnen und ich brauche das jetzt nicht.
Ich hatte auch einen Blick auf this one die sehr vielversprechend schien, aber wenn ich versuche, diesen Code bar mein Schieber verschwindet zu imitieren nur ...
In this question sie drawWithFrame
verwenden und es sieht interessant, aber wieder bin ich nicht sicher, wie es funktioniert.
Ich möchte dies mit meinem eigenen Code tun, anstatt eine Bibliothek zu verwenden. Könnte mir bitte jemand einen Hinweis geben, wie man das macht? :)
Ich mache das in Swift, aber ich kann Objective-C bei Bedarf lesen/verwenden.
Ich denke, Sie nicht, diese Attribute von der Standard-Schnittstelle zugreifen können. Der 2. Link sieht vielversprechend aus. Ich schätze, du solltest es zum Laufen bringen. Grundsätzlich ist ein Schieberegler eine einfache Ansicht, in der der Drehknopf dem Ziehen-und-Ablegen folgt. –