iOS 11开始以编程方式在导航栏上使用大标题进行刷新

pab*_*ros 9 ios swift ios11

在iOS 10中,我曾经以UIRefreshControl编程方式开始刷新(以编程方式显示刷新控件),如下所示:

self.tableView.setContentOffset(CGPoint(x: 0, y: - self.refreshControl.bounds.height), animated: false)
self.refreshControl.beginRefreshing()
Run Code Online (Sandbox Code Playgroud)

但是现在使用iOS 11代码不起作用,它只会弄乱大小UINavigationController并且UIRefreshControl不会出现.

如何从iOS 11 开始以编程方式UIRefreshControl(以编程方式显示刷新控件)开始刷新prefersLargeTitles

Cez*_*zar 0

UIRefreshControl旨在与 一起使用UITableViewControllerUITableView在不在 a 中的 s上使用它UITableViewController可能会导致未定义的行为。

虽然让视图控制器成为 的子类并不总是可行UITableViewController,但您始终可以拥有一个UIViewController将子类添加UITableViewController为子类的子类。这样您就可以使用提供的UIRefreshControl以及其他细节UITableViewController,同时仍然能够UIViewController在需要时使用子类。