最近,我一直致力于创建一个复杂的视图,它允许我在表单下方使用选取器。在每种情况下,表单都只有两个选项,因此没有足够的数据向下滚动以获取更多数据。能够滚动这个表单但不能滚动下面的 Picker 会让视图感觉很糟糕。我不能将选取器放在表单内,否则 SwiftUI 会更改选取器上的样式。而且我在任何地方都找不到是否可以在不使用的情况下禁用列表/表单上的滚动:
.disable(condition)
有没有办法在不使用上述语句的情况下禁用列表或表单上的滚动?这是我的代码供参考
VStack{
Form {
Section{
Toggle(isOn: $uNotifs.notificationsEnabled) {
Text("Notifications")
}
}
if(uNotifs.notificationsEnabled){
Section {
Toggle(isOn: $uNotifs.smartNotifications) {
Text("Enable Smart Notifications")
}
}.animation(.easeInOut)
}
} // End Form
.listStyle(GroupedListStyle())
.environment(\.horizontalSizeClass, .regular)
if(!uNotifs.smartNotifications){
GeometryReader{geometry in
HStack{
Picker("",selection: self.$hours){
ForEach(0..<24){
Text("\($0)").tag($0)
}
}
.pickerStyle(WheelPickerStyle())
.frame(width:geometry.size.width / CGFloat(5))
.clipped()
Text("hours")
Picker("",selection: self.$min){
ForEach(0..<61){
Text("\($0)").tag($0)
}
}
.pickerStyle(WheelPickerStyle())
.frame(width:geometry.size.width / CGFloat(5))
.clipped()
Text("min")
}