У меня есть NSWindow и горизонтальный NSSlider.Изменить цвет панели NSSlider
Я хочу изменить цвет правой части ползунка при изменении цвета фона окна.
В настоящее время, в правой части панели не видно больше, когда фон окна темно.
Примечание: фон окна на самом деле является градиентом, который я рисую, переопределяя drawRect
в подклассе вида окна.
Я думал, что я мог бы изменить цвет заливки ползунок на подклассы NSSliderCell
и переопределение некоторый метод, как drawBarInside
, но я не понимаю, как это работает: я должен сделать небольшое квадратное изображение и сделать его несколько раз в прямоугольнику после регулятор? Или, может быть, просто нарисуйте цветную линию? Я никогда не делал это раньше.
Я просмотрел this question, и это интересно, но это касается рисования ручки, и мне это не нужно пока.
Я также имел взгляд на this one, который казался очень перспективным, но когда я пытаюсь имитировать этот код моего ползунок просто исчезает ...
В this question они используют drawWithFrame
и это выглядит интересно, но опять я не знаю, как это работает.
Я бы хотел сделать это с помощью своего собственного кода вместо использования библиотеки. Может ли кто-нибудь дать мне подсказку о том, как это сделать, пожалуйста? :)
Я делаю это в Swift, но при необходимости могу прочитать/использовать Objective-C.
Я думаю, вы не можете получить доступ к этим атрибутам из стандартного интерфейса. Второе звено выглядит многообещающим. Я думаю, вы должны запустить его. В основном слайдер представляет собой простой вид, где ручка следует за drag-n-drop. –