2016-11-15 5 views
0

Я могу использовать NSColorWell в качестве кнопки, чтобы изменить цвет выделенного текста. Поскольку NSColorWell является объектом NSControl, у него есть цель и действие. Я предполагаю, что действие реализует код для изменения цвета выделенного текста в NSTextView. Где я могу найти этот код для действия NSColorWell? Я хотел бы изменить его, чтобы использовать NSColorWell для изменения фона выделенного текста и, в конечном итоге, иметь две кнопки NSColorWell ToolBar: один для изменения цвета переднего плана текста и второй для цвета фона текста.Как изменить действие NSColorWell?

ответ

1

NSColorWell - это просто прямоугольный элемент управления для изменения цвета.

  • Вы можете создать IBAction и подключить его к действию цветовом в Инспекторе Соединений (⌥⌘6) из интерфейса 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 
        } 
    } 
    
+0

Хорошо, если я правильно понимаю, вы предлагаете использовать цвет NSColorWell изменить основной или фоновый цвет приписываемой строки, поставив стандартный код для этого в IBAction changeColor? Но перестанет менять цвет переднего плана, когда я меняю цвет фона. Теперь он автоматически меняет цвет переднего плана, когда я нажимаю NSColorWell. – VYT

+0

Спасибо за ответ! Чтобы избежать автоматической раскраски текста, по умолчанию в IB флажок «Использовать панель шрифтов» должен быть выключен (или useFontPanel должен быть установлен в false в viewDidLoad()) – VYT

Смежные вопросы