当按下回车键时,如何使NSTextfield失去焦点?

6

我想制作一个文本框,当我单击文本框外或按下回车键时,文本框将失去焦点。也就是说,焦点环会消失。我见过类似这样的情况,但我不知道在哪里放置代码。有人可以向我展示如何使NSTextfield失去焦点吗?

2个回答

1

对于和我一样懒的人,这里有一些代码。

这是我使用的简化的NSTextfieldDelegate方法:

func control(_ control: NSControl, textShouldEndEditing fieldEditor: NSText) -> Bool {
    DispatchQueue.main.async {
        self.textField2.window?.makeFirstResponder(nil)
    }
    return true
}

https://developer.apple.com/documentation/appkit/nstextview/1807135-resignfirstresponder?language=objc

resignFirstResponder文档如下:

使用NSWindow方法makeFirstResponder:,而不是此方法,使文本视图成为第一响应者。永远不要直接调用此方法。

// don't use this as the name may suggest (at least it did for me)
self.textField2.resignFirstResponder()

1

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接