gpt4 book ai didi

image - 在 SwiftUI 中向 TextField/SecureField 添加图像,向占位符文本添加填充

转载 作者:行者123 更新时间:2023-12-01 15:33:43 26 4
gpt4 key购买 nike

我在 SwiftUI 中创建了一个文本字段和一个安全文本字段,但我不知道如何在 SwiftUI 中将图像添加到我的文本字段/安全文本字段中。与旧版本的 Swift 相比,SwiftUI 的在线文档并不多。我还想将(占位符/键入的文本)移动指定的量,例如向右移动 30 点。我还试图查看背景颜色是否会从白色变为红色,但正如您所见,它在我的代码中,对 UI 没有影响。

注意:我的代码中有前面调用的 GeometryReader 以及用户名和密码的 @state 变量。

我的目标是让它看起来像这样 desired outcome , 现在看起来像 current/undesired view

            VStack (spacing: deviceSize.size.height * (50/812)) {
TextField ("Username", text: self.$username)
.foregroundColor(.black)//text color when you type
.accentColor(.blue)//cursor color
.background(Color(.red))//????
.textFieldStyle(RoundedBorderTextFieldStyle())
.cornerRadius(50)

// .border(Color.white)
//.font(.title)

SecureField ("Password", text: self.$password)
.textFieldStyle(RoundedBorderTextFieldStyle())
.cornerRadius(50)

}
.padding(.init(top: 0, leading: deviceSize.size.width * (38/375), bottom: 0, trailing: deviceSize.size.width * (38/375)))

最佳答案

实现这种设计的最简单方法是将 ImageTextFieldHStack并给它一个圆形背景。密码字段稍微复杂一些,因为它需要一个额外的 Button ,当您隐藏/显示密码时,您需要在 TextField 之间更改和 SecureField .这是我的看法:

struct ContentView: View {

@State private var username = ""
@State private var password = ""
@State private var showPassword = false

var body: some View {
ZStack {
Color.blue
VStack {
HStack {
Image(systemName: "person")
.foregroundColor(.secondary)
TextField("Username",
text: $username)
} .padding()
.background(Capsule().fill(Color.white))
HStack {
Image(systemName: "lock")
.foregroundColor(.secondary)
if showPassword {
TextField("Password",
text: $password)
} else {
SecureField("Password",
text: $password)
}
Button(action: { self.showPassword.toggle()}) {

Image(systemName: "eye")
.foregroundColor(.secondary)
}
} .padding()
.background(Capsule().fill(Color.white))
} .padding()
}
}
}
The resulting username and password fields

关于image - 在 SwiftUI 中向 TextField/SecureField 添加图像,向占位符文本添加填充,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59058490/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com