Я могу использовать NSColorWell как кнопку, чтобы изменить цвет выделенного текста. Поскольку NSColorWell является объектом NSControl, у него есть цель и действие. Я предполагаю, что действие реализует код для изменения цвета выделенного текста в NSTextView. Где я могу найти этот код для действия NSColorWell? Я хотел бы изменить его, чтобы я мог использовать NSColorWell для изменения фона выделенного текста и, в конечном итоге, иметь на панели инструментов две кнопки NSColorWell: одну для изменения цвета переднего плана текста и вторую для цвета фона текста.
Как изменить действие NSColorWell?
Ответы (1)
NSColorWell
— это просто прямоугольный элемент управления для изменения цвета.
Вы можете либо создать
IBAction
, либо связать его с действием области цвета в Инспекторе подключений (⌥⌘6) в Interface Builder.@IBAction func changeColor(_ sender : NSColorWell) { let color = sender.color // do something with the color }
Или привяжите
value
в Bindings Inspector (⌥⌘7) Interface Builder к свойствуdynamic
, в этом примере для области цвета будет установлено значение по умолчанию зеленого цвета.dynamic var color : NSColor = .green { didSet { // do something with the color } }
person
vadian
schedule
15.11.2016
Хорошо, если я правильно понимаю, вы предлагаете использовать цвет из NSColorWell, чтобы изменить цвет переднего плана или фона строки с атрибутами, поместив стандартный код для этого в IBAction changeColor ? Но перестанет ли он менять цвет переднего плана, когда я изменю цвет фона. Теперь он автоматически меняет цвет переднего плана, когда я нажимаю NSColorWell.
- person VYT; 15.11.2016
Спасибо за ответ! Чтобы избежать автоматического окрашивания текста, по умолчанию в IB галочка использует панель шрифтов должна быть выключена (или для использованияFontPanel должно быть установлено значение false в viewDidLoad())
- person VYT; 16.11.2016