我正在尝试在 UITableViewController
上使用标准的 UIRefreshControl
和 UISearchController
。然而,它看起来不像它应该做的那样。刷新时,滚动会留下一个很大的空白区域的导航栏,大概是微调器应该在的地方:
我有一个示例项目 on GitHub .以下是控件的设置方式:
override func viewDidLoad() {
super.viewDidLoad()
let spinner = UIRefreshControl()
spinner.addTarget(self, action: #selector(refresh), for: .valueChanged)
refreshControl = spinner
searchController = UISearchController(searchResultsController: nil)
navigationItem.searchController = searchController
}
我已经尝试将刷新控件分配给 UITableView
上的属性,而不是 UITableViewController
上的属性,这没有什么区别。
有人遇到过同样的问题吗?
最佳答案
你可以用老方法使用 UIRefreshController,就像这样:
override func viewDidLoad() {
super.viewDidLoad()
let spinner = UIRefreshControl()
spinner.addTarget(self, action: #selector(refresh), for: .valueChanged)
self.tableView.addSubview(spinner)
searchController = UISearchController(searchResultsController: nil)
navigationItem.searchController = searchController
}
关于iOS 11 刷新控件 + 搜索栏 = 刷新时缺少微调器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46790340/