问题

我试图在UIViewController中的UITableView中实现一个拉刷新功能.我不能使用UITableViewController,因为我想UITableView是一个较小的子视图在视图控制器,上面的一些其他东西.我认为这是可能的,但是有谁看到了它的实现?



解决方法

直接向 UITableView 添加刷新控件,而不使用 UITableViewController :

override func viewDidLoad() {
    super.viewDidLoad()
    let refreshControl = UIRefreshControl()
    refreshControl.addTarget(self, action: #selector(refresh(_:)), for: .valueChanged)

    if #available(iOS 10.0, *) {
        tableView.refreshControl = refreshControl
    } else {
        tableView.backgroundView = refreshControl
    }
}

func refresh(_ refreshControl: UIRefreshControl) {
    // Do your job, when done:
    refreshControl.endRefreshing()
}



相关问题推荐