从OSX中的菜单栏状态项中删除突出显示?

时间:2015-08-27 11:53:38

标签: macos swift

我已经创建了一个菜单栏按钮'它在单击时运行一个函数。下面是我的菜单栏按钮的代码。

let statusItem = NSStatusBar.systemStatusBar().statusItemWithLength(-1)

func applicationDidFinishLaunching(aNotification: NSNotification) {

    if let button = statusItem.button {
        button.title = "This is in the menu bar."
        button.action = Selector("myFunction")
    }
}

问题是,这将被制作成图像,而不是文本,因此我需要在用户点击它时不要将其突出显示为蓝色,这就是目前发生的情况。

当用户点击它时,我能做些什么来阻止它突出显示?

谢谢!

1 个答案:

答案 0 :(得分:1)

我猜你可以将按钮类型设置为MomentaryChangeButton,这是一种在点击时不会突出显示的按钮。

button.setButtonType(NSButtonType.MomentaryChangeButton)

语法短:

button.setButtonType(.MomentaryChangeButton)

如果您还想摆脱焦点圈:

button.focusRingType = NSFocusRingType.None

语法短:

button.focusRingType = .None

注意:我写了#34;我猜"因为我没有验证它是否适用于您的状态栏按钮的特定情况。