我认为这是一个错误,仅当我尝试访问资产目录中的自定义颜色时才会出现。颜色显示正确,但控制台出现错误。
在 /private/var/containers/Bundle/Application/... 的资产目录中找不到名为“...”的颜色
这只发生在带有图表的视图中(我在所有应用程序中使用相同的资源,但没有收到此消息。),以及具有新的 iOS18 Beta 的设备上。在其他版本的模拟器上我没有这个问题。
最奇怪的部分是我只收到有关 textColors 的错误,而不是 bgColors 的错误。 (见下一个例子)
enum ColorPicked: Codable, CaseIterable, Identifiable {
var id: String { return self.bgColor.description }
case white
case red
var textColor: Color {
switch self {
case .red: return .textBetterRed
case .white: return .textBetterWhite
}
}
var bgColor: Color {
switch self {
case .white: return .betterWhite
case .red: return .betterRed
}
}
}
import SwiftUI
import Charts
struct Chart1: View {
let data: [ChartData1]
let color: ColorPicked
var body: some View {
ZStack{
VStack(alignment: .leading){
Text("Chart Title")
.foregroundStyle(color.textColor)
...
}.background(color.bgColor)
}
}
}
解决方法是使用 Color(uiColor:)。此问题也会影响 ImageRenderer。我使用它来生成 PDF,并且资产目录中的颜色不会显示在生成的 PDF 中