Shazam
Shazam copied to clipboard
下拉刷新导致的滑动问题
不确定这个是不是我的姿势不正确,文章中提到在 child vc 分别实现下拉刷新,我使用了最简单的系统控件 UIRefreshControl
.
大致代码:
override func viewDidLoad() {
// ...
let refreshControl = UIRefreshControl()
tableView.refreshControl = refreshControl
refreshControl.addTarget(self, action: #selector(refresh), for: .valueChanged)
}
@objc private func refresh() {
DispatchQueue.main.asyncAfter(deadline: .now() + .seconds(2)) {
self.tableView.refreshControl?.endRefreshing()
}
}
诡异效果:
图一:下拉滑动刷新过程中,左右拖拽 mainScrollView
图二:下拉滑动刷新未结束时,切换到其他 VC, 刷新完成后不会回弹
切换 keepChildScrollViewOffset
没有区别,效果还是一样。
这个问题,我目前还没想好怎么处理比较好,确实是个 bug,推荐你用另外一个库,https://github.com/bawn/Aquaman
@bawn 二级 ScrollView 的实现效果更好,希望能解决吧。感谢分享🙏。
@cuzv 已经已修复 => https://github.com/bawn/Shazam/commit/9125415f9934900803ccd1bea5be86991dce68c0,暂时还没提交到 cocoapods 你可以通过分支形式引入
@bawn 滑动问题是好了,可能无意中引入了另外一个 bug: 切换 tab 后,顶部 header 会自己跳动。 UI is HARD :[