swiftui - 拉动刷新 SwiftUI SwiftUIRefresh / Sticky Scroll View
问题描述
我试图让我的滚动视图按预期工作。当我在我的 StateArrayView 上实现 .pullToRefresh 并显示视图时,拉动刷新工作,但滚动感觉发生了变化。当您抬起手指时,它会立即停止。
我试图将 .pullToRefresh 仅添加到列表中,并且除了 StateArrayView 出现时,一切都按预期工作。拉动刷新不起作用。
我很茫然,不知道还有什么尝试。有没有办法重置特定视图的滚动行为方式?
List{
if self.controlCenter.ShowStateArray == false {
if self.array == [] && self.controlCenter.selectedHeaders.count == 0 {
//SHOW DATA UPON IMPORTING...
if self.controlCenter.showInitialList{
InitialListView(array: self.array, text: self.text)
}
}
else if self.array == [] && self.controlCenter.selectedHeaders.count != 0 {
ModifiedListView(array: self.array, text: self.text)
}
}
if self.controlCenter.ShowStateArray {
StateArrayView(array: self.array, text: self.text)
.pullToRefresh(isShowing: self.$isShowing) {
DispatchQueue.main.asyncAfter(deadline: .now() + 1) {
print("Refresh")
self.text = ""
self.array = []
self.controlCenter.searchTerm = ""
//self.controlCenter.selectedHeaders.removeAll()
self.controlCenter.showInitialList = true
self.controlCenter.arrayCount = self.controlCenter.initialList.count
self.array.removeAll()
self.array = self.controlCenter.modifiedList
self.isShowing = false
}
}
}
}.padding(.init(top: 0, leading: 8, bottom: 0, trailing: 8))
.id(UUID())
.pullToRefresh(isShowing: self.$isShowing) {
DispatchQueue.main.asyncAfter(deadline: .now() + 1) {
print("Refresh")
self.text = ""
self.array = []
self.controlCenter.searchTerm = ""
//self.controlCenter.selectedHeaders.removeAll()
self.controlCenter.showInitialList = true
self.controlCenter.arrayCount = self.controlCenter.initialList.count
self.array.removeAll()
self.array = self.controlCenter.modifiedList
self.isShowing = false
}
}
解决方案
推荐阅读
- vb.net - Chrome DevTools SetTimeZoneOverRideCommand 无法更改系统时间
- php - 使用 PHP 通过 cURL 发送的电子邮件中的空字段
- sql - 当有唯一值但有重复值时,我如何计数,计数保持不变
- video-streaming - 如何从流式视频中录制音频和视频?
- git - 如何在不提交固定更改的情况下修复 linting 错误?
- r - 如何在 r 中删除我的三元图中的 xy 网格线
- python - 如何使用 Python openpyxl 在 excel 中映射数据
- javascript - 这个函数构造(函数返回函数)是什么意思?
- python - 在可用的非空键上加入 pandas DataFrames
- git - 通过 unix manager:如何检索 gpg 密钥