我想給NSButton
一個突出顯示的邊框來引導用戶點擊它。我期望它與在NSTextField
上使用becomeFirstResponder()
的效果類似。如何在macOS應用程序中使NSButton具有突出顯示的邊框?
我試圖在NSButton
使用becomeFirstResponder()
,但沒有UI的變化。
我也嘗試使用button.highlight(true)
,但它突出顯示了整個按鈕,點擊時有點令人困惑。
我該怎麼辦?謝謝。
我想給NSButton
一個突出顯示的邊框來引導用戶點擊它。我期望它與在NSTextField
上使用becomeFirstResponder()
的效果類似。如何在macOS應用程序中使NSButton具有突出顯示的邊框?
我試圖在NSButton
使用becomeFirstResponder()
,但沒有UI的變化。
我也嘗試使用button.highlight(true)
,但它突出顯示了整個按鈕,點擊時有點令人困惑。
我該怎麼辦?謝謝。
正如評論家指出,你提出的建議是不明智的,因爲它會與全鍵盤訪問相沖突,而你的一些用戶可能已經啓用了。
現在已經有一個macOS慣例以某種方式突出顯示「默認」按鈕 - 它以前在按鈕周圍添加了一個環,目前它以不同的顏色繪製按鈕。當用戶按下返回鍵時將觸發默認按鈕(而在全鍵盤訪問中,空格鍵是觸發器)。
您可以使用NSWindow
的defaultButtonCell
屬性動態設置和更改默認按鈕。請注意,這需要NSButtonCell
而不是NSButton
,您可以使用cell
屬性從後者獲得前者。所以,你的代碼來設置默認會看起來像:
myWindow.defaultButtonCell = oneOfMyButtons.cell;
遵循這一標準的MacOS的GUI這裏既指用戶最常用的按鈕按下,並允許他們使用返回鍵鍵盤觸發它。
HTH
您的意思是像是在System Prefs中打開Full Keyboard Access嗎? – Willeke
@Willeke對不起,我不確定Full Keyboard Access在系統首選項中是什麼。這是捷徑嗎? –
這簡直是個壞主意。 –