多色SF符号在iOS 15小部件中为黑色。(请看附件图片14.5 vs 15.0)
这是它在代码中的样子:
Image(uiImage: UIImage(systemName: getIconName(iconId: iconId))!)
.resizable()
.scaledToFit()
.frame(width: 20)
字符串
玩.renderingMode()
没有帮助。我试过所有可能的参数,但没有运气。只有当我设置为。模板和设置一些颜色,但我需要它是因为它是-多色。
(It发生在iPhone和模拟器(测试版iOS和测试版XCode),我也尝试使用新的SF符号,或应用iOS 15 .symbolRenderingMode()
中可用的新功能,但没有任何帮助)。
iOS 14:
x1c 0d1x的数据
iOS 15:
的
2条答案
按热度按时间hs1ihplo1#
iOS 15及以上版本
某些符号的名称已更改。请确保使用正确的名称。
您需要使用
.symbolRenderingMode(.palette)
,并使用.foregroundStyle()
视图修改器显式设置其每个图层的颜色字符串
使用方式
型
代替了
型
shyt4zoc2#
iOS 16+
也许@mahan的解决方案在iOS 15上有效,但在iOS 16+上对我不起作用。我找到了一个工作组合:
1.第一个月
1.它只适用于
<IMAGE_ID>.fill
图标。如果你尝试使用非填充变量,它将不起作用。好好享受吧!
P.S.注意,并非所有的SF图标都有填充版本,因此您可能希望在显示它之前确保它存在。