使用.background()为视图设置背景色



我正在尝试Apple的SwiftUI入门教程。

在本课的第3节第5步中,我得到了以下代码:

import SwiftUI
struct CardView: View {
let scrum: DailyScrum
var body: some View {
Text(scrum.title) // returns the word "Design"
.font(.headline)
}
}
struct CardView_Previews: PreviewProvider {
static var scrum = DailyScrum.sampleData[0]
static var previews: some View {
CardView(scrum: scrum)
.background(scrum.theme.mainColor) // returns Color("yellow")
.previewLayout(.fixed(width: 400, height: 60))
}
}

根据网站提供的预览,我应该得到"设计"这个词;然而,使用黄色背景时,黄色背景就不显示了。

我试着把参数改为Color.yellow,它工作了。我的问题是,.background(Color("yellow")和和.background(Color.yellow),如果是,为什么苹果的教程使用第一个?

是。SwiftUI是一项相对较新的技术,并且正在迅速变化。iOS 16中引入了一些变化,改变了。background视图修饰符…如果你的目标是iOS 13或iOS 14,背景(颜色。黄色)应该工作。根据经验,假设苹果的网站文档和示例总是有点老。因此,要使用这些网站,他们建议您下载示例代码,这些代码应该已经设置为旧的目标。但是,如果你创建了一个自己的全新项目,并试图一点一点地遵循它,可能会出现一些奇怪的行为。最好的文档是嵌入到Xcode本身的文档。或者,使用网站上的示例代码进行初学者学习。

最新更新