UIRefreshControl 在容器视图中不起作用

UIRefreshControl not working inside Container View

我有 ViewController,它有 ContainerView 以及另一个 ViewController 和 UITableView。

我正在将 UIRefreshControl 添加到 tableView(容器内),如下所示:

refreshControl.addTarget(self, action: #selector(SomeViewController.reloadData), for: .valueChanged)
tableView.addSubview(refreshControl)

而且它不起作用。 SomeViewController.reloadData 永远不会被调用。现在当我做同样的事情时,除了没有容器,一切正常。

我是否应该将一些委托或其他东西设置为 main/top ViewController,有容器?

您是否尝试过将 refreshControl 设置为 tableView 上相应的 属性 而不是 将其添加为子视图?

tableView.refreshControl = refreshControl

应该这样做。

编辑: 如果您支持任何早于 10 的 iOS,您将无法将其直接添加到 tableView,而是需要将它添加到您的 UITableViewController,假设您正在使用一个。

self.refreshControl = refreshControl