我想为 TextField 中的文本更改两种不同的颜色。对于第一个单词,颜色为深灰色,对于第二个单词,颜色为浅灰色。是否可以?
TextField("Dumble Dore!", text: $username)
还有另一种方法只使用 SwiftUI 和我们手头上的东西:
Xcode:版本 12.5.1 (12E507)
struct ContentView: View {
@State private var string: String = "Dumble Dore!"
var body: some View {
CustomTextFieldView(titleKey: "Enter your text here ...", dropIndex: 7, string: $string)
}
}
struct CustomTextFieldView: View {
let titleKey: LocalizedStringKey
let dropIndex: Int
@Binding var string: String
var body: some View {
HStack(spacing: 0.0) {
Text(string.dropLast((string.count >= dropIndex) ? (string.count - dropIndex) : 0)).foregroundColor(Color(UIColor.darkGray)).lineLimit(1)
Text(string.dropFirst(dropIndex)).foregroundColor(Color(UIColor.lightGray)).lineLimit(1)
Spacer()
}
.overlay(TextField(titleKey, text: $string).foregroundColor(.clear), alignment: .topLeading)
}
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)