在 Swift 刷新后刷新控件不滑动屏幕备份
Refresh control not sliding screen back up after refreshing in Swift
我已将刷新控件添加到我的 table 视图控制器中,当我向下滑动时会出现刷新动画并且我的刷新代码会运行。然而,在它完成刷新(旋转动画消失)后,我向下滑动的 table 不会向上滚动,并且基本上是空的白色 space.
这是我用来实现刷新控件的代码。
refreshControl = UIRefreshControl()
refreshControl.backgroundColor = UIColor.white
refreshControl.addTarget(self, action: #selector(HomeViewController.refresh), for: UIControlEvents.valueChanged)
if #available(iOS 10.0, *) {
tableView.refreshControl = refreshControl
} else {
tableView.backgroundView = refreshControl
}
这是我的刷新功能
func refresh() {
Feed.query(params) { feeds, error in
self.refreshControl.endRefreshing()
if error == nil {
self.oldIndex = nil
self.feeds = feeds
self.scrollViewDidScroll(self.tableView)
self.tableView.reloadData()
self.edgesForExtendedLayout = []
self.checkIfEmpty()
} else {
Alert(view: self).show(error!)
}
}
}
从通话中获取数据后,我结束刷新。谢谢!我目前正在 iOS 10.2 模拟器上进行测试。
尝试将您的 endRefreshing 代码包含在 主线程 中,看看它是否有效:
DispatchQueue.main.async { self.refreshControl.endRefreshing() }
我已将刷新控件添加到我的 table 视图控制器中,当我向下滑动时会出现刷新动画并且我的刷新代码会运行。然而,在它完成刷新(旋转动画消失)后,我向下滑动的 table 不会向上滚动,并且基本上是空的白色 space.
这是我用来实现刷新控件的代码。
refreshControl = UIRefreshControl()
refreshControl.backgroundColor = UIColor.white
refreshControl.addTarget(self, action: #selector(HomeViewController.refresh), for: UIControlEvents.valueChanged)
if #available(iOS 10.0, *) {
tableView.refreshControl = refreshControl
} else {
tableView.backgroundView = refreshControl
}
这是我的刷新功能
func refresh() {
Feed.query(params) { feeds, error in
self.refreshControl.endRefreshing()
if error == nil {
self.oldIndex = nil
self.feeds = feeds
self.scrollViewDidScroll(self.tableView)
self.tableView.reloadData()
self.edgesForExtendedLayout = []
self.checkIfEmpty()
} else {
Alert(view: self).show(error!)
}
}
}
从通话中获取数据后,我结束刷新。谢谢!我目前正在 iOS 10.2 模拟器上进行测试。
尝试将您的 endRefreshing 代码包含在 主线程 中,看看它是否有效:
DispatchQueue.main.async { self.refreshControl.endRefreshing() }