使用UITableView重载数据期间UIRefreshControl的异常行为

时间:2019-02-09 14:20:01

标签: ios swift uitableview uirefreshcontrol

我在UITableView中将UIRefreshControlUIViewController一起使用。当用户拉下UITableViewUIRefreshControl时,它可以正常工作。提取数据时发生问题。成功提取之后,我希望UIRefreshControl停止动画并在表视图中重新加载数据。

Video related

问题是当我按如下所述进行操作时,动画会闪烁,跳动,上帝知道还有什么。

private func setupActions() {
    mainView.refreshControl.addTarget(self, action: #selector(fetchSurveys), for: .valueChanged)
}
@objc private func fetchSurveys() {
    viewModel.fetchSurveys(success: { [weak self] in
        self?.mainView.configureEmptyTableView(isHidden: false)
        self?.mainView.refreshControl.endRefreshing()
        self?.mainView.tableView.reloadData()
        }, failure: { [weak self] error in
            self?.mainView.configureEmptyTableView(with: "Unable to fetch surveys. Please try again.", isHidden: true)
            self?.mainView.refreshControl.endRefreshing()
    })
}

我尝试了reloadData()和endRefreshing()的顺序的许多组合,但仍然无法正常工作。

0 个答案:

没有答案