如果我不在NSTextField中,如何消除对textField的关注?
我有一个NSTextField,我设置了动作:发送到结束编辑。单击textField后,当我单击视图中的其他位置时,焦点将始终在我的NSTextField中。此外,我使用makeFirstResponder和resignFirstResponder,但都徒劳无功。有什么想法吗?
@IBAction func endOfEditing(sender: NSTextField) {
view.window?.makeFirstResponder(nil)
view.window?.resignFirstResponder()
}为了举例说明,无论我按什么地方,焦点总是在textField中。(即使我按下按钮)

当我单击textField外部时,如何移除焦点?

发布于 2018-09-19 15:12:11
Swift 4
对于那些注意力集中和注意力不集中的人来说:我不知道2016年是否是这样,但在Swift 4中,我的NSTextField失去了焦点,除非我点击另一个“可选择的”出口。
例如,如果我在NSButton之后单击NSTextField,它不会失去焦点。我怀疑NSButton会捕捉到事件,从而阻止textfield知道它必须脱离焦点。
下面是一个非常激进的解决方案,它肯定会使NSTextField脱离焦点。
@IBAction func clickMyButton(_ sender: NSButton) { // or anywhere else
self.quantityTextField.isEnabled = false
self.quantityTextField.isEnabled = true
}不太性感,但很可靠
编辑:刚看到它,它解决了李的问题
发布于 2016-03-11 06:47:43
尝试将此函数添加到viewController中
override func touchesBegan(touches: Set<UITouch>, withEvent event: UIEvent?) {
// I assume your textField call myText
myText. resignFirstResponder()
}https://stackoverflow.com/questions/35933609
复制相似问题