尝试遵循这个 iOS dev tutorial.
\n当我到达第 7 步时,代码没有按预期更改背景颜色。
\n引用“步骤 7\n添加一个名为 mainColor 的颜色属性,该属性使用枚举\xe2\x80\x99s rawValue 创建颜色。\n此属性从资产目录初始化颜色。”
\n这是主题文件中的代码:
\nimport 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}\nRun Code Online (Sandbox Code Playgroud)\n如果我将代码更改为:
\n var mainColor: Color {\n return .red\n }\nRun Code Online (Sandbox Code Playgroud)\n正如我所期望的,背景变成了红色。
\n查看文件中的代码是:
\nimport 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}\nRun Code Online (Sandbox Code Playgroud)\n
| 归档时间: |
|
| 查看次数: |
2188 次 |
| 最近记录: |