2017-06-16 66 views
0

我在自定义OS-X Cocoa菜单栏应用程序上工作。我把一个自定义的NSView作为子视图放在NSStatusItem的按钮上。它看起来不错,但在选择蓝色突出具有覆盖问题的按钮时:无缝NSStatusItem按钮突出显示自定义NSView覆盖

enter image description here

我使用NSColor.clear尽可能 - 自定义的NSView正在呈现是唯一一个NSBezierPath(圈子)和NSText(文本) - 都具有透明背景。我可能有一个完全错误的方法,不知道其他方式将那些自定义视图放在那里。

所以我的问题是如果有可能在鼠标单击时显示完整的按钮选择覆盖(蓝色突出显示)或这是一个错误的概念(在NSButton上使用自定义视图)?

回答

0

如果以编程方式创建按钮,请将其类型设置为“瞬时更改”。或者你可以使用界面构建器来完成。

btn.setButtonType(.momentaryChange) 
+0

这是对NSStatusItem标准的现有按钮:https://developer.apple.com/documentation/appkit/nsstatusitem/1535056-button - 在任何情况下,我试过。将类型更改为.momentaryChange(也尝试了其他),但不幸的是没有更改。 – itarato

+0

您是否将'isBordered'设置为false? –

+0

是的,尝试按钮,没有改变。 – itarato

相关问题