自定义 SF 符号不呈现分层着色
Posted
技术标签:
【中文标题】自定义 SF 符号不呈现分层着色【英文标题】:Custom SF Symbol not rendering hierarchical shading 【发布时间】:2021-10-12 22:05:05 【问题描述】:我有一个自定义 SF Symbol,当在 SF Symbols 3 应用程序中查看时,它会呈现分层阴影,但在使用 SwiftUI 的 ios 中,它呈现为单色。
这是 SF Symbols 3 应用程序中的符号:
这是在资产目录中作为 3.0 模板导入的符号:
这里是渲染它的代码:
Image("custom.figure.steps")
.font(.largeTitle)
.padding(.trailing)
.symbolRenderingMode(.hierarchical)
.foregroundColor(status.statusColor)
这是它在 iOS 模拟器中的呈现方式:
如何获得分层阴影?
【问题讨论】:
你试过用标准系统颜色渲染它吗?我们不知道您的status.statusColor
是什么。
刚刚尝试使用 Color(uiColor: .systemRed)
和 Color(uiColor: .systemGray)
并且仍然呈现为单色。
另外,您需要显示您在 SF Symbols 中设置的图层。
@Yrb 已编辑以包含符号图层。
您是否将其导出为 3.0 模板以导入 Xcode?span>
【参考方案1】:
好的,发现我的错误了。我导出为模板,没有保留图层。当我导出为符号 3.0 时,图层被保留,现在一切都按预期呈现。
我是如何诊断的:
将我作为模板导出的 SVG 重新导入到 SF Symbols 中,发现那里只有一个图层 导出为符号并将其导入 Xcode,呈现为层次结构底线:在导入 Xcode 时导出为符号,而不是作为模板。
【讨论】:
以上是关于自定义 SF 符号不呈现分层着色的主要内容,如果未能解决你的问题,请参考以下文章