我正在开发一个SwiftUI应用程序,其中有一个TextField用于输入令牌密钥。我想部分屏蔽令牌密钥,只显示前几个字符,并将其余的替换为屏蔽字符(e.g.但是,SwiftUI中的SecureField屏蔽了整个输入。
我尝试过通过子类化SecureField
并覆盖它的textContentType
来定制它,但这并没有提供所需的结果。我还试图修改苹果文档中提供的CustomSecureField
代码,但它仍然屏蔽了整个输入。
代码如下:
import SwiftUI
struct SettingsView: View {
@Binding var settingsShown: Bool
@Binding var messages: [Message]
@AppStorage("authToken") var authToken: String = ""
// ... other code ...
private var authTokenField: some View {
HStack {
SecureField("Enter your auth token here", text: $authToken)
.foregroundColor(.blue)
.textFieldStyle(.plain)
.padding(4)
.padding(.horizontal, 4)
.background(Color(red: 0.2, green: 0.2, blue: 0.2).cornerRadius(6))
// ... other code ...
}
.padding().frame(maxWidth: .infinity, alignment: .leading)
}
// ... other code ...
}
struct Message {
// ... message properties ...
}
字符串
这就是我想要的:
的数据
这就是我得到的:
的
1条答案
按热度按时间euoag5mw1#
您可以定义一个代理变量来动态更改显示值:
字符串