xcode 更改文本中字符串部分的背景色

h9vpoimq  于 2023-03-24  发布在  其他
关注(0)|答案(1)|浏览(101)

我想改变显示在文本中的字符串的背景颜色,但我如何实现这一点?

if let subHeadline = viewModel.createSubHeadlineText() { 
  Text(subHeadline)
    .foregroundColor(Color.black)
    .background(!viewModel.isNotSimilar ? Color.yellow: .clear)
}

目前在这段代码中,当条件为真时,整个文本的背景都被改变了。但是我只想改变副标题部分的背景。

exdqitrt

exdqitrt1#

您可以使用AttributeString(如注解中所述)。

struct ContentView: View {
    
    var body: some View {
        VStack {
            Text(getAttributedString())
        }
        .padding()
    }
    
    func getAttributedString() -> AttributedString {
        let string = "This is yellow color"
        let attributedString = NSMutableAttributedString(string: string)
        attributedString.addAttribute(.backgroundColor, value: UIColor.yellow, range: NSRange(location: 8, length: 6))
        return AttributedString(attributedString)
    }
}

相关问题