我在SwiftUI中有一个列表,用于显示视图模型。奇怪的是,当我在列表中指定最后一个HStack时,视图就不再编译了。以下内容正确地编译和工作:
struct LandingResultView: View {
@Binding var dryLand: LandingViewModel
@Binding var wetLand: LandingViewModel
var body: some View {
GeometryReader { geo in
List {
HStack {
Text("30T")
.frame(width: geo.size.width * 0.2)
Text("\(self.dryLand.throttles30)")
.frame(width: geo.size.width * 0.3)
Text("\(self.wetLand.throttles30)")
.frame(width: geo.size.width * 0.3)
}
HStack {
Text("10T")
.frame(width: geo.size.width * 0.2)
Text("\(self.dryLand.throttles10)")
.frame(width: geo.size.width * 0.3)
Text("\(self.wetLand.throttles10)")
.frame(width: geo.size.width * 0.3)
}
HStack {
Text("0T")
.frame(width: geo.size.width * 0.2)
Text("\(self.dryLand.throttles0)")
.frame(width: geo.size.width * 0.3)
Text("\(self.wetLand.throttles0)")
.frame(width: geo.size.width * 0.3)
}
HStack {
Text("30F")
.frame(width: geo.size.width * 0.2)
Text("\(self.dryLand.flaps30)")
.frame(width: geo.size.width * 0.3)
Text("\(self.wetLand.flaps30)")
.frame(width: geo.size.width * 0.3)
}
HStack {
Text("10F")
.frame(width: geo.size.width * 0.2)
Text("\(self.dryLand.flaps10)")
.frame(width: geo.size.width * 0.3)
Text("\(self.wetLand.flaps10)")
.frame(width: geo.size.width * 0.3)
}
HStack {
Text("0F")
.frame(width: geo.size.width * 0.2)
Text("\(self.dryLand.flaps0)")
.frame(width: geo.size.width * 0.3)
Text("\(self.wetLand.flaps0)")
.frame(width: geo.size.width * 0.3)
}
HStack {
Text("Land 30")
.frame(width: geo.size.width * 0.2)
Text("\(self.dryLand.landing30)")
.frame(width: geo.size.width * 0.3)
Text("\(self.wetLand.landing30)")
.frame(width: geo.size.width * 0.3)
}
HStack {
Text("Land 10")
.frame(width: geo.size.width * 0.2)
Text("\(self.dryLand.landing10)")
.frame(width: geo.size.width * 0.3)
Text("\(self.wetLand.landing10)")
.frame(width: geo.size.width * 0.3)
}
HStack {
Text("Land 0")
.frame(width: geo.size.width * 0.2)
Text("\(self.dryLand.landing0)")
.frame(width: geo.size.width * 0.3)
Text("\(self.wetLand.landing0)")
.frame(width: geo.size.width * 0.3)
}
HStack {
Text("HB")
.frame(width: geo.size.width * 0.2)
Text("\(self.dryLand.hb)")
.frame(width: geo.size.width * 0.6)
}
}
}
}
}以下内容不编译,也不会呈现。我知道SwiftUI很挑剔,但我看不出我在哪里出了问题:
struct LandingResultView: View {
@Binding var dryLand: LandingViewModel
@Binding var wetLand: LandingViewModel
var body: some View {
GeometryReader { geo in
List {
HStack {
Text("30T")
.frame(width: geo.size.width * 0.2)
Text("\(self.dryLand.throttles30)")
.frame(width: geo.size.width * 0.3)
Text("\(self.wetLand.throttles30)")
.frame(width: geo.size.width * 0.3)
}
HStack {
Text("10T")
.frame(width: geo.size.width * 0.2)
Text("\(self.dryLand.throttles10)")
.frame(width: geo.size.width * 0.3)
Text("\(self.wetLand.throttles10)")
.frame(width: geo.size.width * 0.3)
}
HStack {
Text("0T")
.frame(width: geo.size.width * 0.2)
Text("\(self.dryLand.throttles0)")
.frame(width: geo.size.width * 0.3)
Text("\(self.wetLand.throttles0)")
.frame(width: geo.size.width * 0.3)
}
HStack {
Text("30F")
.frame(width: geo.size.width * 0.2)
Text("\(self.dryLand.flaps30)")
.frame(width: geo.size.width * 0.3)
Text("\(self.wetLand.flaps30)")
.frame(width: geo.size.width * 0.3)
}
HStack {
Text("10F")
.frame(width: geo.size.width * 0.2)
Text("\(self.dryLand.flaps10)")
.frame(width: geo.size.width * 0.3)
Text("\(self.wetLand.flaps10)")
.frame(width: geo.size.width * 0.3)
}
HStack {
Text("0F")
.frame(width: geo.size.width * 0.2)
Text("\(self.dryLand.flaps0)")
.frame(width: geo.size.width * 0.3)
Text("\(self.wetLand.flaps0)")
.frame(width: geo.size.width * 0.3)
}
HStack {
Text("Land 30")
.frame(width: geo.size.width * 0.2)
Text("\(self.dryLand.landing30)")
.frame(width: geo.size.width * 0.3)
Text("\(self.wetLand.landing30)")
.frame(width: geo.size.width * 0.3)
}
HStack {
Text("Land 10")
.frame(width: geo.size.width * 0.2)
Text("\(self.dryLand.landing10)")
.frame(width: geo.size.width * 0.3)
Text("\(self.wetLand.landing10)")
.frame(width: geo.size.width * 0.3)
}
HStack {
Text("Land 0")
.frame(width: geo.size.width * 0.2)
Text("\(self.dryLand.landing0)")
.frame(width: geo.size.width * 0.3)
Text("\(self.wetLand.landing0)")
.frame(width: geo.size.width * 0.3)
}
HStack {
Text("HB")
.frame(width: geo.size.width * 0.2)
Text("\(self.dryLand.hb)")
.frame(width: geo.size.width * 0.6)
}
HStack {
Text("HB")
.frame(width: geo.size.width * 0.2)
Text("\(self.dryLand.hb)")
.frame(width: geo.size.width * 0.6)
}
}
}
}
}我故意重复上一个HStack,以排除我所显示的内容可能出现的任何问题。任何帮助都将不胜感激!
发布于 2020-02-03 00:54:44
10,试着使用Group将它们分成10组。
https://stackoverflow.com/questions/60031977
复制相似问题