教程主题背景颜色不起作用

fir*_*urt 4 ios swiftui

尝试遵循这个 iOS dev tutorial.

\n

当我到达第 7 步时,代码没有按预期更改背景颜色。

\n

引用“步骤 7\n添加一个名为 mainColor 的颜色属性,该属性使用枚举\xe2\x80\x99s rawValue 创建颜色。\n此属性从资产目录初始化颜色。”

\n

这是主题文件中的代码:

\n
import SwiftUI\n\nenum Theme: String {\n    case bubblegum\n    case buttercup\n    case indigo\n    case lavender\n    case magenta\n    case navy\n    case orange\n    case oxblood\n    case periwinkle\n    case poppy\n    case purple\n    case seafoam\n    case sky\n    case tan\n    case teal\n    case yellow\n    \n    var accentColor: Color {\n            switch self {\n            case .bubblegum, .buttercup, .lavender, .orange, .periwinkle, .poppy, .seafoam, .sky, .tan, .teal, .yellow: return .black\n            case .indigo, .magenta, .navy, .oxblood, .purple: return .white\n            }\n        }\n    var mainColor: Color {\n        Color(rawValue) // This line not working\n    }\n}\n
Run Code Online (Sandbox Code Playgroud)\n

如果我将代码更改为:

\n
    var mainColor: Color {\n        return .red\n    }\n
Run Code Online (Sandbox Code Playgroud)\n

正如我所期望的,背景变成了红色。

\n

查看文件中的代码是:

\n
import SwiftUI\n\nstruct CardView: View {\n    let scrum: DailyScrum\n    var body: some View {\n        VStack(alignment: .leading) {\n            Text(scrum.title)\n                .font(.headline)\n                .accessibilityAddTraits(.isHeader)\n            Spacer()\n            HStack {\n                Label("\\(scrum.attendees.count)", systemImage: "person.3")\n                    .accessibilityLabel("\\(scrum.attendees.count) attendees")\n                Spacer()\n                Label("\\(scrum.lengthInMinutes)", systemImage: "clock")\n                    .accessibilityLabel("\\(scrum.lengthInMinutes) minute meeting")\n                    .labelStyle(.trailingIcon)\n            }\n            .font(.caption)            \n        }\n        .padding()\n        .foregroundColor(scrum.theme.accentColor)\n\n    }\n}\n\nstruct CardView_Previews: PreviewProvider {\n    static var scrum = DailyScrum.sampleData[0]\n    static var previews: some View {\n        CardView(scrum: scrum)\n            .background(scrum.theme.mainColor) // Here is were theme is called\n            .previewLayout(.fixed(width: 400, height: 60))\n    }\n}\n
Run Code Online (Sandbox Code Playgroud)\n

小智 7

同样的问题:Apple 的 SwiftUI 教程代码不显示自制副本中的视图内容

您应该先下载项目文件,然后从StartingProject 导入assets文件夹。

苹果文档中的注释: 在此输入图像描述

资产文件夹位置:

在此输入图像描述