NSButton 在鼠标悬停时突出显示并通过单击切换状态

NSButton highlight on mouse over and toggle state via click

在 Xcode 中,有一个 'In My Scope' 按钮,当您将鼠标悬停在其上时该按钮会突出显示并保持突出显示,直到其 'unclicked'。

我可以通过界面生成器重现这个:

Xcode 'In My Scope'

但我无法通过代码使它正常工作。这就是我想出的:

scopeButton = [NSButton buttonWithTitle: @"In My Scope"
                                                   target: self
                                                   action: @selector(onScopeButton:)];
[scopeButton setButtonType: NSButtonTypeMomentaryLight];
scopeButton.translatesAutoresizingMaskIntoConstraints = NO;
scopeButton.bezelStyle = NSBezelStyleRecessed;
scopeButton.bordered = YES;

据我所知,这与界面生成器设置相匹配,但效果不尽相同。关于如何通过代码让它工作有什么建议吗?

替换

scopeButton.bordered = YES;

来自

scopeButton.showsBorderOnlyWhileMouseInside = YES;