You need to enable JavaScript to run this app. SwiftUI中Text组件无法显示三种颜色且出现多余字符如何解决
优惠活动
大模型
产品
解决方案
定价
更多

SwiftUI中Text组件无法显示三种颜色且出现多余字符如何解决

问题根因

你所使用的在Text字符串插值中嵌套其他Text视图实现富文本拼接的语法,是SwiftUI在iOS 15及更高版本才推出的特性。你的项目适配iOS 14,在iPadOS 14.1设备上运行时,系统无法正确解析这种语法,就会出现渲染异常,输出多余的意外字符。

适配iOS 14的解决方案

iOS 14下拼接不同样式的Text,直接使用+运算符拼接多个Text实例即可,修改后的代码如下:

let aString = "A"
let bString = "B"
let cString = "C"

import SwiftUI

struct ContentView: View {
    var body: some View {
        (
            Text(aString).foregroundColor(.black)
            + Text(bString).foregroundColor(.gray)
            + Text(cString).foregroundColor(.red)
        )
        .padding()
    }
}

这种写法可以同时兼容iOS 14和更高版本的系统,运行后可以正确显示A为黑色、B为灰色、C为红色的ABC文本效果,不会出现多余字符。

内容的提问来源于stack exchange,提问作者oOEric

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.17 11:24:03