SwiftUI不支持AttributedString
,尚无直接支持。但是您可以使用以下几行代码构建自定义占位符:
ZStack
自己使用和实现占位符:
var body: some View {
ZStack(alignment: .leading) {
if text.isEmpty {
Text("Placeholder")
.foregroundColor(.red)
}
TextField("", text: $text)
}
}
Run Code Online (Sandbox Code Playgroud)
因此,您可以根据需要对占位符进行任何自定义。
您始终可以创建自己的自定义,View
以在所有地方使用:
struct CustomTextField: View {
var placeholder: Text
@Binding var text: String
var editingChanged: (Bool)->() = { _ in }
var commit: ()->() = { }
var body: some View {
ZStack(alignment: .leading) {
if text.isEmpty { placeholder }
TextField("", text: $text, onEditingChanged: editingChanged, onCommit: commit)
}
}
}
Run Code Online (Sandbox Code Playgroud)
用法(TextField
带占位符):
struct ContentView: View {
@State var text = ""
var body: some View {
CustomTextField(
placeholder: Text("placeholder").foregroundColor(.red),
text: $text
)
}
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
190 次 |
最近记录: |