2 Star 23 Fork 10

小弟调调/swiftui-example

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
README.md 1.64 KB
一键复制 编辑 原始数据 按行查看 历史

当用户提交 TextField 时如何执行事件?

Updated for Xcode 13.0 New in iOS 15

SwiftUI 有一个 onSubmit() 修饰符,可以附加到层次结构中的任何视图,并在用户完成将文本输入到 TextFieldSecureField 时运行您选择的函数。

例如,我们可以要求用户输入他们的密码,然后在他们按下回车键时运行一些代码:

struct ContentView: View {
  @State private var password = ""

  var body: some View {
    if #available(iOS 15.0, *) {
      SecureField("Password", text: $password)
        .onSubmit {
            print("Authenticating…")
        }
    } else {
        // Fallback on earlier versions
    }
  }
}

对于这样的简单示例,TextFieldSecureField 都接受专用的 onCommit 参数,我们可以在其中直接将我们的函数附加到它们。 但是,使用 onSubmit() 的优势在于它可以捕获在其上下文中提交的所有文本值,这使得填写表单更加容易:

struct ContentView: View {
  @State private var username = ""
  @State private var password = ""

  var body: some View {
    Form {
      TextField("Username", text: $username)
      SecureField("Password", text: $password)
    }
    .onSubmit {
      guard username.isEmpty == false && password.isEmpty == false else { return }
      print("Authenticating…")
    }
  }
}
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
Swift
1
https://gitee.com/jaywcjlove/swiftui-example.git
git@gitee.com:jaywcjlove/swiftui-example.git
jaywcjlove
swiftui-example
swiftui-example
main

搜索帮助