更新Xcode 13.1后代码内直接定义的Color预览不显示如何解决
Xcode 13.1 代码内颜色预览异常修复方案
升级Xcode 13.1后会出现colorLiteral颜色预览异常:颜色定义为变量时预览正常,嵌套在代码修饰符中直接书写的颜色无法正常显示预览,异常现象如下:
可按以下步骤操作恢复预览:
- 方案1:清除缓存重建索引
- 完全退出Xcode,确保后台无相关进程运行
- 打开终端执行以下命令删除Xcode派生数据缓存:
rm -rf ~/Library/Developer/Xcode/DerivedData/* - 重新打开项目,等待Xcode完成项目索引构建后即可恢复预览
- 方案2:检查编辑显示设置
- 打开Xcode偏好设置(快捷键
⌘ + ,) - 切换到「Text Editing」标签,在「Display」分类下确认「Show Colors inline」选项处于勾选状态
- 若已勾选仍不显示,可先取消勾选重启Xcode后再重新勾选该选项
- 打开Xcode偏好设置(快捷键
- 方案3:临时兼容写法(针对SwiftUI场景)
Xcode 13.1存在已知识别bug,无法识别嵌套在Color()构造器内的#colorLiteral,可直接移除外层Color()包裹即可正常显示预览,修改后代码示例:struct SwiftUIView2: View { @State var color = Color(#colorLiteral(red: 0.20000000298023224, green: 0.49803921580314636, blue: 0.6901960968971252, alpha: 1)) var body: some View { Text("Hello, World!") .background(#colorLiteral(red: 0.20000000298023224, green: 0.49803921580314636, blue: 0.6901960968971252, alpha: 1)) } } - 方案4:升级Xcode版本
该bug已在Xcode 13.2.1及后续版本修复,可直接升级到更高版本的Xcode彻底解决该问题。
内容的提问来源于stack exchange,提问作者ursan526
相关产品推荐
相关产品推荐

