Использование ColorPanel в NSToolbar в Swift

Я только начал изучать Swift, и я пытаюсь создать приложение, которое меняет цвет фона на основе цвета, выбранного в NSColorPanel в NSToolbar.

Цвета панели инструментов

При нажатии на Colors Я столкнулся с палитрой цветов. Теперь я не могу понять, как извлечь / прочитать цветовые коды в Swift.

Я просмотрел весь интернет, но, к сожалению, ничего не помогло.

Надеюсь, кто-то здесь может предоставить больше информации.

1 ответ

Решение

Сначала вам нужно добавить наблюдателя, когда цветовая панель сменила цвет.

NotificationCenter.default.addObserver(self, selector: #selector(colorPanelDidChange(_:)),
                         name: NSColorPanel.colorDidChangeNotification, object: nil)

где colorPanelDidChange Ваш пользовательский метод:

@objc func colorPanelDidChange(_ notification: NSNotification)

В этом методе вы извлекаете содержимое уведомления:

if let cp = notification.object as? NSColorPanel

и теперь вы можете сделать cp.color чтобы получить реальный цвет, на который нажал пользователь.

Другие вопросы по тегам