UISearchController的自定义UITableViewController覆盖了iOS 11中的搜索栏

时间:2017-10-19 12:28:05

标签: ios uisearchbar ios11 uinavigationitem uisearchcontroller

当您将搜索控制器设置为navigationItem.searchController时,UISearchController的自定义UITableViewController将覆盖iOS 11中的搜索栏。表格视图控制器覆盖整个屏幕,因此您无法在键入时看到搜索栏。将nil发送到UISearchController时,这不是问题。基本上,我有一个这个地图应用程序的搜索栏,所以我设置一个UITableViewController到UISearchController来处理搜索位置时搜索结果的显示。以前,表格视图显示在搜索栏的底部,现在它覆盖了整个屏幕。

以下是代码段:

    searchController = UISearchController(searchResultsController: searchResultsController)
    searchController.searchBar.sizeToFit()
    searchController.hidesNavigationBarDuringPresentation = true
    searchController.dimsBackgroundDuringPresentation = true
    searchController.definesPresentationContext = false
    searchController.searchResultsUpdater = self
    searchController.delegate = self

    if #available(iOS 11.0, *){
        self.navigationItem.searchController = searchController
    }

1 个答案:

答案 0 :(得分:0)

发现了这个问题。需要在willPresentSearchController

中设置正确的原点值