我试图为下面的按钮分配一种颜色,我之前给了一个结构的成员,但我一直收到编译器错误。以下是我的代码:
var sampleGameView: gameViewState = gameViewState(
Outs: 2,
Balls: 1,
Strikes: 1,
Runner1: true,
Runner2: true,
Runner3: false,
HomeTeam: "MIA",
AwayTeam: "ATL",
HomeTeamColor: Color("SampleGameViewATL"),
AwayTeamColor: Color("SampleGameViewMIA"),
InningTop: false,
InningNumber: 4,
HomeTeamScore: 0,
AwayTeamScore: 1,
CurrentBatterFirst: "Starling",
CurrentBatterLast: "Marte",
CurrentPitcherFirst: "Max",
CurrentPitcherLast: "Fried"
)
正如您所看到的,sampleGameView
有两个Color属性。然而,当我试图将它们分配给这样的按钮时,我会出现错误:
Button(action: {}) {
VStack {
Text(sampleGameView.CurrentPitcherFirst)
Text(sampleGameView.CurrentPitcherLast)
.fontWeight(.bold)
.textCase(.uppercase)
}
.padding()
}
.foregroundColor(.white)
.frame(width: 170, height: 75)
.background(Color("sampleGameView.HomeTeamColor")) // error is on this line
.cornerRadius(10)
我尝试过在没有引号的情况下访问颜色,也尝试过使用字符串插值,这两种方法都不起作用:/
有人能告诉我在这种情况下正确的语法是什么吗?非常感谢。
删除双引号和Color对象构造函数。
.background(sampleGameView.HomeTeamColor)
注意:结构和类名以大写字母开头,属性以小写字母开头。