如何在macOS app中制作NSButton有一个突出显示的边框?

时间:2017-12-02 23:30:05

标签: swift macos cocoa nsbutton

我想给NSButton突出显示的边框以引导用户点击它。我希望它类似于在becomeFirstResponder()上使用NSTextField的效果,如下所示。

enter image description here

我尝试在becomeFirstResponder()上使用NSButton,但没有更改用户界面。

我也尝试使用button.highlight(true),但它会突出显示整个按钮,因为点击它会让人感到困惑。

我该怎么办?谢谢。

1 个答案:

答案 0 :(得分:1)

正如评论员所指出的那样做你的建议是不明智的,因为它会与你的一些用户可以启用的全键盘访问冲突。

已经有一个macOS约定来突出显示"默认"按钮在某种程度上 - 这个以前在按钮周围添加了一个环,目前它以不同的颜色绘制按钮。当用户按下返回键时将触发默认按钮(而在完全键盘访问时,空格键是触发器)。

您可以使用NSWindow的{​​{1}}属性动态设置和更改默认按钮。请注意,这需要defaultButtonCell,而不是NSButtonCell,您使用NSButton属性从后者获取前者。因此,设置默认值的代码如下所示:

cell

遵循标准的macOS GUI,这两个按钮都向用户显示最常用的按键,并允许它们使用返回键从键盘触发。

HTH