🌊
【SwiftUI】TextFieldのプレイスホルダーのアドレス検知して文字色変えるのを止めさせたい
Tips記事です。
メールアドレスの入力フォームを実装したとしましょう。
public var body: some View {
VStack {
Text("mail adress")
.frame(maxWidth: .infinity, alignment: .leading)
.font(font: .body)
TextField("sample@gmail.com", text: $id)
.padding()
.overlay(
RoundedRectangle(cornerRadius: 8)
.stroke(.black,lineWidth: 1)
)
}
}
このとき、TextFieldはプレイスホルダーがメールアドレスだと、ご親切に青文字にしてくれます。
ただプレイスホルダーなんで、薄いグレー文字になっていて欲しいので、止めて欲しいです。
ちなみにURLを検知しても青文字にしてくれます。
こちらの対策なんですが、オフにする指定がないようで、
検索すると色々出てくるんですが、僕が試した限りだと効きませんでした。
(参考)
どうしようかなーと色々試していたところ、
let placeholder = "sample@gmail.com"
TextField(placeholder, text: $id)
一度変数・定数を噛ませてから指定してあげると、アドレス検知が発動しないことに気づきました。
(了)
Discussion