是否可以更改字符串中指定字符的文本颜色?

时间:2021-06-03 14:35:05

标签: swiftui

我目前正在使用 SwiftUI 开发应用程序。

我准备了一个基本字符String和一个TextField,如果在String中输入的字符TextField包含在基本字符String中,我想改变目标字符的颜色。

到目前为止,我已经实现了将输入字符 String 更改为不同的字符,但是我无法更改字符的颜色。

在使用 SwiftUI 时有没有办法做到这一点?


在下面的代码的情况下,如果我输入 apple,基础 apple 中的 String 部分将更改为不同的 String( replaceString ),但是我只想更改文本颜色,同时保持相同的 String

代码如下:

import SwiftUI

struct CheckWords: View {

    @State var baseString = "I like apples but don't like oranges"
    @State var word = "apple"

    var body: some View {
        VStack{
            HStack{
                Text("redWord")
                TextField("redWord",text:self.$word)
                    .textFieldStyle(RoundedBorderTextFieldStyle())
                    .autocapitalization(.none)
            }
            .padding()

            Text(self.baseString)
                .font(.title)
                .padding()

            Divider()

            Text("result:")
                .padding()

            Text(self.changeString())
                .font(.title)
                .padding()
        }
    }

    func changeString() -> String{
        if let range = baseString.range(of: word) {
            let replaceString = baseString.replacingCharacters(in: range, with: "replaceString")
            return replaceString
        }else{
            return self.baseString
        }
    }
}

Xcode:12.3 版

iOS:14.0

0 个答案:

没有答案