![](/img/trans.png)
[英]How to make an editable NSTextFields lose focus when Buttons are clicked?
[英]How to make NSTextfield lose focus when Enter is pressed?
我想創建一個文本字段,如果我單擊它或按 Enter,它會在其中失去焦點。 由於在對焦環消失。 我見過這樣的情況,但我不知道在哪里放置代碼。 誰能告訴我如何讓 NSTextfield 失去焦點?
一種方法是實現 NSTextFieldDelegate,將委托分配給您的文本字段,並讓它調用一個選擇器(您代碼中的一個方法會改變第一響應者 = nil)。 當文本字段完成接收輸入時,將使用消息調用委托。 查看此處的 API 以獲取更多信息:
對於像我這樣懶惰的人,這里有一些代碼。
這是我使用的縮減 NSTextfieldDelegate 方法:
func control(_ control: NSControl, textShouldEndEditing fieldEditor: NSText) -> Bool {
DispatchQueue.main.async {
self.textField2.window?.makeFirstResponder(nil)
}
return true
}
resignFirstResponder Docu 說如下:
使用 NSWindow 方法 makeFirstResponder:,而不是這個方法,使文本視圖成為第一響應者。 切勿直接調用此方法。
// don't use this as the name may suggest (at least it did for me)
self.textField2.resignFirstResponder()
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.