先说结论。目前最新的API还没查看,就我支持iOS13来说,没得直接的API可以设置占位文本的颜色。
本文采用的是设置背景为一个Text的方式来设置占位文本。具体代码如下:
先看效果-代码图
struct InputTextfieldView: View {
var title = ""
@State var content = "";
var body: some View {
VStack(spacing: 2, content: {
HStack{
Text(title).font(14.regulare)
.foregroundColor("#E0F0FE".c)
Spacer()
}
HStack {
FSTextField.install(content: $content)
.font(15.regulare)
.foregroundColor(.white)
.padding(.leading,14)
}
.frame(height: 44)
.background("#3B4E86".c)
})
.background(Color.red)
}
}
#Preview {
InputTextfieldView(title: "手机号")
}
struct FSTextField {
static func install(content: Binding<String>) -> some View{
return TextField("", text: content)
.background(HStack {
if content.wrappedValue.isEmpty {
Text("请输入")
.foregroundColor(Color.red)
.font(15.regulare)
}
Spacer()
})
}
}
只是提供了一个封装思路,可以自行取用。
PS:我特么最讨厌CSDN,死要钱还经常写假代码