iOS 11刷新控件+搜索栏=刷新时丢失微调器

问题描述 投票:11回答:1

我正在尝试在UIRefreshControl上使用标准的UISearchControllerUITableViewController。然而,它看起来并不像它应该做的那样。刷新时,滚动会使导航栏留下一个大的空白区域,大概应该是微调器的位置:

enter image description here

我有一个示例项目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上的属性,这没有什么区别。

有人遇到过同样的问题吗?

ios uitableview ios11 uisearchcontroller uirefreshcontrol
1个回答
4
投票

你可以用旧的方式使用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
}
© www.soinside.com 2019 - 2024. All rights reserved.