我正在使用 SwiftUI TextEditor 并希望在用户输入一定数量的字符时更改字符的颜色。有什么办法可以做到这一点?
所以TextEditor中会有两种颜色。在下面的示例中,前 140 个字符将为黑色,接下来的字符全部为红色。如果无论如何可以作弊并使用链接颜色,我也可以使用黑色和蓝色。
class ViewModel: ObservableObject {
@Published var text: String = "" {
didSet {
if text.count > 140 {
// replace text with text that has first 140 characters black color and remaining red color.
}
}
}
}
struct ContentView: View {
@StateObject var viewModel = ViewModel()
var body: some View {
TextEditor(text: $viewModel.text)
}
}