TextField("Name", text: $name)
我找到了这个方法
func focusable(_ isFocusable: Bool = true, onFocusChange: @escaping (Bool) -> Void = { _ in }) -> some View
但它仅适用于 MacOS,我如何为 iOS 做类似的事情?
您可以使用初始化程序init(_:text:onEditingChanged:onCommit:)
存在于文本字段中。当您开始编辑和结束编辑时,您将触发一个操作。您可以在下面找到最小的示例。
import SwiftUI
struct ContentView: View {
@State private var greeting: String = "Hello world!"
var body: some View {
TextField("Welcome", text: $greeting, onEditingChanged: { (editingChanged) in
if editingChanged {
print("TextField focused")
} else {
print("TextField focus removed")
}
})
}
}
希望这可以帮助。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)