【发布时间】:2018-11-12 12:06:33
【问题描述】:
出于某种原因,我的拉动刷新真的很难完成。我的意思是,为了拉动刷新,我必须从我的收藏视图的最顶部开始并向下滚动到最底部......有时我什至必须用第二根手指才能滚动更多以使其工作!
这是我初始化刷新器的方法:
private var refresher: UIRefreshControl!
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view.
refresher = UIRefreshControl()
refresher.addTarget(self, action: #selector(self.requestRefreshContent), for: .valueChanged)
if #available(iOS 10.0, *) {
schoolPostsCollectionView.refreshControl = refresher
}
else {
schoolPostsCollectionView.addSubview(refresher)
}
refresher.beginRefreshing()
}
我是这样称呼beginRefreshing()的:
private func getContentOfSchool() {
someBackgroundServerCall() {
// some code
...
DispatchQueue.main.async {
self.refresher.endRefreshing()
self.schoolPostsCollectionView.reloadData()
}
}
}
知道为什么会这样吗?
【问题讨论】:
-
从未完全刷新是什么意思?函数
requestRefreshContent没有被调用吗?您是否在代码中的任何位置调用refreshed.endRefreshing()? -
检查我更新的问题。是的,我有时会打电话给
refresher.endRefreshing()... -
为什么要在 Collectionview 中添加子视图。
-
@S.D 因为它是这样工作的......
-
@SotirisKaniras 显示完整代码...