我有一个带有一些NSTextField的窗口。当我单击一个并编辑值并按回车键时,我希望焦点返回到之前的状态。我不想在文本字段周围出现蓝色环,也不想在该文本字段上进行进一步的击键。我本以为这会自动发生。
我尝试了这些,但没有一个起作用
sender.resignFirstResponder()
sender.window?.makeFirstResponder(nil)
InspectorWindowController.window?.makeFirstResponder(nil)
AnotherWindowController.window?.becomeFirstResponder()
我正在与文本字段关联的IBAction的结尾处执行这些操作。也许我必须从其他地方去做?
谢谢
答案 0 :(得分:0)
我知道了。我猜发送的动作正在另一个线程上发生。因此,您必须使用Dispatch异步调用makeFirstResponder。
DispatchQueue.main.async { //omg
sender.window?.makeFirstResponder(nil)
}
答案 1 :(得分:0)
我需要在我的 SwiftUI macOS 应用程序中关闭第一响应者,在这里我发现以我需要的方式工作:
SDO_ORDINATE_ARRAY