У меня есть пользовательская кнопка, которая является подклассом NSButton. Я хочу изменить цвет оттенка содержимого, когда кнопка находится в нажатом состоянии. Вот что у меня есть:
open override func mouseDown(with event: NSEvent) {
// update contentTintColor
contentTintColor = contentTintColorPressed
// call super to inherit the click action
super.mouseDown(with: event)
// for some reason mouseUp doesn't trigger if I call super, so I have to override and manually call mouseUp
self.mouseUp(with: event)
}
В результате цвет оттенка содержимого становится backgroundColor, поэтому содержимое кнопки становится невидимым. Почему contentTintColor обновляется только тогда, когда я перетаскиваю курсор за пределы кнопки? демонстрация