在过去的2个小时中,我一直在尝试使按钮的ScrollView能够工作,更具体地说,是使用GeometryReader确定其大小的按钮的ScrollView。此外,所有这些都放置在NavigationView中。
有奇怪的行为,例如按钮没有执行其动作,未注册水龙头,并且当放置在VStack中的网格状结构的HStack中时,我只能轻按具有预期效果的第一行按钮,其他按钮都没有响应。如何正确构造所有这些视图?
答案 0 :(得分:1)
以下代码对我有用:
var body : some View {
NavigationView {
VStack{
GeometryReader{ geometry in
ScrollView {
// This is just how i'm setting up my buttons
VStack {
ForEach(0 ..< 2, id: \.self) { row in
HStack {
ForEach(0 ..< 2, id: \.self) { column in
TestButton()
}
}
}
}
}
}
}.navigationBarTitle("")
.navigationBarHidden(true)
}
.navigationViewStyle(StackNavigationViewStyle())
.edgesIgnoringSafeArea(.all)
.navigationBarTitle("")
.navigationBarHidden(true)
}
请注意,必须将ScrollView嵌套在GeometryReader中 ,否则将出现奇怪的行为(在我的情况下,我只能点击具有预期效果的第一行按钮)。希望这对某人有帮助!