我正在尝试在 UIViewController 中的 UITableView 中实现拉动刷新功能。我不能使用 UITableViewController 因为我希望 UITableView 是 View Controller 中的一个较小的 subview ,在它上面有一些其他的东西。我认为这是可能的,但是有人见过它的实现吗?

最佳答案

不使用 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
    }
}

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

关于ios - 在没有 UITableViewController 的情况下拉动刷新 UITableView,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10291537/

10-14 19:57