【发布时间】:2021-12-09 23:06:36
【问题描述】:
MacOS 11 上的 SwiftUI
目标是让 SwiftUI SecureField 显示不同于默认项目符号 (••••••) 的 Unicode 字符,例如表情符号、随机生成的字符等。目标的一个重要部分是实际 用户输入的文本是完全可编辑和保留的,并且可以在 @State 变量中访问,并且仅显示掩码字符,但我不介意它是通过 TextField 还是一些实现的改为其他视图。
例如,普通的 SecureField 项目符号:
struct ContentView : View {
@State var password : String = ""
var body: some View {
VStack {
SecureField("Password", text: $password)
Button("Transmogrify!") {}
}.padding()
}
}
结果如下:
目标是实现与 SecureField 相同的行为,但显示不同的字符,如下所示:
到目前为止,我还没有想出一个有效的代码示例。
我尝试使用普通的TextField 和显式的Binding<String> 来尝试控制底层文本get/set,但由于绑定的性质会影响最终存储在password 中的文本
【问题讨论】: