NSButton на NSVisualEffectView: неправильный цвет фона

У меня есть NSVisualEffectView в NSPopover, разработанный для 10.10.

При создании подкласса NSVisualEffectView для получения эффекта наведения цвета фона цвет кнопки без полей кажется другим

серая коробка

Я пытался установить backgroundColor ячейки кнопки для clearColor или так же, как я использовал в drawRect: в NSVisualEffectView первый дает неправильный цвет (не заполненный синим цветом), а последний все тот же с неправильным цветом. (серая коробка вокруг границы).

CALayer Можно это исправить, но есть ли способ без его использования?

Есть идеи?

1 ответ

После долгих проб и ошибок это сработало для меня:

button.wantsLayer = true
button.layer?.backgroundColor = NSColor.clearColor().CGColor

У меня есть NSTableView со стилем NSVisualEffectView. Я создал собственный класс NSTableViewCell и поместил эти строки в его метод drawRect.

Это было открыто в течение долгого времени, но мне просто нужен был ответ, и, возможно, кто-то еще будет рад найти его здесь, ответ работает только для Mac OS 10.14 и выше.

button.contentTintColor = .white

Установив для contextTintColor все, что вам может понадобиться, по какой-то причине он удалит цвет фона.

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