我不能在我的代码中创建很多 .scrollTo() :(我很抱歉我的英语不好)
else if index == 1 {
withAnimation {
value.scrollTo(topID)
}
}
我的问题出在 value.scrollTo(topID) 我试图在 3 个不同的 foreach 中实现其中的 6 个并且编译器无法编译但是如果我删除它编译的 Foreach 之一的 value.scrollTo(topID)
else if wichView.SelectedView == 5 {
HStack {
ForEach(1..<6) { index in
Spacer()
Button(action: {
if index == 3 {
withAnimation() {
wichView.SelectedView = 1
wichView.carouselLocation = 0
}
value.scrollTo(topID)
}
else if index == 1 {
withAnimation {
value.scrollTo(topID)
}
}
},
label: {
Image("IPPV5_TABBITEM\(index)")
.resizable()
.aspectRatio(contentMode: .fit)
.frame(width: 40,
height: 40)
})
}
Spacer()
}
.padding(.bottom, -10)
.frame(width: size.width,
height: 35)
}
else if wichView.SelectedView == 6 {
HStack(spacing: size.width/3 - 10) {
Button(action: {
withAnimation {
value.scrollTo(topID)
}
},
label: {
Image("IPPV6-TABITEM1")
.resizable()
.aspectRatio(contentMode: .fit)
.frame(width: 40,
height: 40)
})
Button(action: {
wichView.SelectedView = 1
wichView.carouselLocation = 0
value.scrollTo(topID)
},
label: {
Image("IPPV6-TABITEM2")
.resizable()
.aspectRatio(contentMode: .fit)
.frame(width: 40,
height: 40)
})
Spacer()
}
.padding(.bottom, -10)
.frame(width: size.width - 40,
height: 35)
}
else if wichView.SelectedView == 8 {
IPPV8TabItem
}
else if wichView.SelectedView == 9 {
HStack {
ForEach(1..<6) { index in
Spacer()
Button(action: {
if index == 3 {
withAnimation {
wichView.SelectedView = 1
}
wichView.carouselLocation = 0
// withAnimation {
// value.scrollTo(topID)
// }
}
else if index == 1 {
// withAnimation {
// value.scrollTo(topID)
//}
}
},
label: {
Image("IPPV9-\(index)")
.resizable()
.aspectRatio(contentMode: .fit)
})
}
Spacer()
}
.frame(width: size.width,
height: 40)
}
这是我的代码的一部分(全部在 ScrollView 中,在 Scrollviewreader 中,在 Vstack 中,在 Zstack 中)
这段代码可以正常工作并且可以编译,因为如果我将其中一个 Foreach 的 .scrollTo() 注释掉,它将无法编译。
任何帮助我不知道问题是Foreachs还是.scrollTo()?