SwiftUI macOS 让 TextField 失去焦点

这串代码的作用是让 iOS 键盘收起,同时也能让 macOS 的 TextField 失去焦点:

1
2
3
DispatchQueue.main.async {
NSApp.keyWindow?.makeFirstResponder(nil)
}

在 macOS 中,选中 TextField 按下键盘回车并不会使其失去焦点。正确的做法是:

1
2
3
4
5
6
// 回车确认
.onSubmit {
DispatchQueue.main.async {
NSApp.keyWindow?.makeFirstResponder(nil)
}
}

SwiftUI macOS 让 TextField 失去焦点
https://wonderhoi.com/2025/01/15/SwiftUI-macOS-让-TextField-失去焦点/
作者
wonderhoi
发布于
2025年1月15日
许可协议