2017-12-02 169 views
0

我想給NSButton一個突出顯示的邊框來引導用戶點擊它。我期望它與在NSTextField上使用becomeFirstResponder()的效果類似。如何在macOS應用程序中使NSButton具有突出顯示的邊框?

enter image description here

我試圖在NSButton使用becomeFirstResponder(),但沒有UI的變化。

我也嘗試使用button.highlight(true),但它突出顯示了整個按鈕,點擊時有點令人困惑。

我該怎麼辦?謝謝。

+0

您的意思是像是在System Prefs中打開Full Keyboard Access嗎? – Willeke

+0

@Willeke對不起,我不確定Full Keyboard Access在系統首選項中是什麼。這是捷徑嗎? –

+0

這簡直是個壞主意。 –

回答

1

正如評論家指出,你提出的建議是不明智的,因爲它會與全鍵盤訪問相沖突,而你的一些用戶可能已經啓用了。

現在已經有一個macOS慣例以某種方式突出顯示「默認」按鈕 - 它以前在按鈕周圍添加了一個環,目前它以不同的顏色繪製按鈕。當用戶按下返回鍵時將觸發默認按鈕(而在全鍵盤訪問中,空格鍵是觸發器)。

您可以使用NSWindowdefaultButtonCell屬性動態設置和更改默認按鈕。請注意,這需要NSButtonCell而不是NSButton,您可以使用cell屬性從後者獲得前者。所以,你的代碼來設置默認會看起來像:

myWindow.defaultButtonCell = oneOfMyButtons.cell; 

遵循這一標準的MacOS的GUI這裏既指用戶最常用的按鈕按下,並允許他們使用返回鍵鍵盤觸發它。

HTH

相關問題