SwiftUI-Textfeldfarbe
Sep 20 2020
Haben Sie eine Idee, wie Sie die Farbe des Textfeld-Platzhalters wie im angehängten Bild ändern können?
Ich kann den Text "E-Mail" nicht weiß färben, er bleibt immer grau.
Ich möchte es genauso machen wie das Bild.
Vielen Dank für die Hilfe
SecureField(String("Password"), text: $pass).padding(.all).border(Color.white).cornerRadius(3.0).padding(.horizontal)
Antworten
4 Asperi Sep 20 2020 at 06:10
Nachfolgend finden Sie eine Demo eines möglichen Ansatzes. Es könnte sich auch lohnen, dies als darstellbar zu betrachten, UITextFieldda es viel konfigurierbarer ist.
Getestet mit Xcode 11.7 / iOS 13.7
struct PlaceholderTextFieldStyle: TextFieldStyle {
let placeholder: String
@Binding var text: String
init(_ placeholder: String, text: Binding<String>) {
self.placeholder = placeholder
self._text = text
}
func _body(configuration: TextField<Self._Label>) -> some View {
ZStack {
if text.isEmpty {
Text(placeholder)
}
configuration
}.foregroundColor(.white)
}
}
struct DemoView: View {
@State private var pass = ""
var body: some View {
SecureField("", text: $pass) .textFieldStyle(PlaceholderTextFieldStyle("Password", text: $pass))
.padding(.all).border(Color.white).cornerRadius(3.0).padding(.horizontal)
.padding()
.background(Color.blue)
}
}