如何在SWIFT中为小于10的iOs刷新数据和表视图的视图

时间:2017-10-25 22:50:56

标签: ios swift tableview

我有一个tableview。它从云端获得更新。这是有效的,但在iOs 9下令人耳目一新不起作用。重新加载没有帮助。

DispatchQueue.main.async {
            if #available(iOS 10.0, *) {
                self.tableView.refreshControl?.endRefreshing()
            } else {
                // Fallback on earlier versions
             // ???
            }
            self.tableView.reloadData()
        }

如何回归早期版本?

1 个答案:

答案 0 :(得分:1)

iOS 10之前refreshControl没有UITableView。因此,我们需要使用UIRefreshControl手动添加它。

像这样使用:

class TableViewAController: UITableViewController {
    lazy var refresh: UIRefreshControl = {
        let refreshControl = UIRefreshControl()
        return refreshControl
    }()

    override func viewDidLoad() {
        self.tableView.addSubview(self.refresh)
            DispatchQueue.main.async {
                if #available(iOS 10.0, *) {
                    self.tableView.refreshControl?.endRefreshing()
                } else {
                    self.tableView.reloadData()
                    self.refresh.endRefreshing()
                }
            }
        }
    }
}