Swiftui 此列表没有滚动的明显原因是什么?
我有一个列表和一个ScrollViewReader的视图,无论我尝试什么,它都不会滚动到正确的位置。我在print语句中得到了一个正确的值,但是什么也没有发生 有什么明显的我做错了吗Swiftui 此列表没有滚动的明显原因是什么?,swiftui,Swiftui,我有一个列表和一个ScrollViewReader的视图,无论我尝试什么,它都不会滚动到正确的位置。我在print语句中得到了一个正确的值,但是什么也没有发生 有什么明显的我做错了吗 struct ValueListView<T:CAPDataExchangable & Hashable>: View { @ObservedObject var model:ValueListModel<T> var body: some Vie
struct ValueListView<T:CAPDataExchangable & Hashable>: View {
@ObservedObject var model:ValueListModel<T>
var body: some View {
ScrollViewReader { proxy in
List{
ForEach(model.listValues,id:\.value){ value in
ValueListRowView(value: value, model:self.model)
.listRowBackground(value.isCurrent ? WatchStyle.listRowActiveBackgroundColor : WatchStyle.listRowBackgroundColor)
}
}
.onChange(of: model.currentValue, perform: { value in
print ("CurrentValue now: \(value)")
proxy.scrollTo(value, anchor: .center)
})
}
}
}
struct ValueListView:View{
@观察对象var模型:ValueListModel
var body:一些观点{
ScrollViewReader{中的代理
名单{
ForEach(model.listValues,id:\.value){中的值
ValueListRowView(值:值,模型:self.model)
.listRowBackground(value.isCurrent?WatchStyle.listRowActiveBackgroundColor:WatchStyle.listRowBackgroundColor)
}
}
.onChange(of:model.currentValue,执行:{value in
打印(“当前值现在:\(值)”)
proxy.scrollTo(值,锚点:.center)
})
}
}
}
这都是时间问题:-)
model.value和model.listValues都是由发布者提供的。在设置model.value时,model.listValues仍然为空,视图中没有列表,也没有要滚动到的目标
model.value上的.combineLatest(model.$listValues).map()完成了工作,现在一切正常