Плавное выделение кнопки NSStatusItem для настраиваемого наложения NSView

Я работаю над пользовательским приложением строки меню OS-X Cocoa. Я помещаю настраиваемый NSView в качестве подпредставления на кнопку NSStatusItem. Выглядит нормально, однако при нажатии кнопки синяя подсветка имеет проблемы с наложением:

введите описание изображения здесь

Я использую NSColor.clear везде, где это возможно - единственное, что представляет пользовательский NSView, - это NSBezierPath (круг) и NSText (текст) - оба с прозрачным фоном. У меня мог быть совершенно неправильный подход, я не знал другого способа разместить там эти пользовательские представления.

Итак, мой вопрос: можно ли отображать наложение полного выбора кнопки (синее выделение) при щелчке мышью, или это неправильная концепция (для использования настраиваемых представлений на NSButton)?


person itarato    schedule 16.06.2017    source источник


Ответы (1)


Если вы создаете кнопку программно, установите для нее тип momentaryChange. Или вы можете сделать это с помощью конструктора интерфейсов.

btn.setButtonType(.momentaryChange)
person El Tomato    schedule 16.06.2017
comment
Это стандартная существующая кнопка на NSStatusItem: developer.apple.com/documentation/appkit / nsstatusitem / - во всяком случае пробовал. Изменил тип на .momentaryChange (попробовал и другие), но, к сожалению, без изменений. - person itarato; 17.06.2017
comment
Вы установили для isBordered значение false? - person El Tomato; 17.06.2017