iOS 11 UISearchController 在输入时消失

iOS 11 UISearchController disappearing when typing

iOS 11 搜索栏在输入时一直消失 我已经尝试设置 searchController.hidesNavigationBarDuringPresentation = false 还有 searchController.definesPresentationContext = true 这是正在发生的事情的视频

Video

我的委托函数

func updateSearchResults(for searchController: UISearchController) {
    filarr = arr.filter({ (arr:String) -> Bool in
        if arr.contains(searchController.searchBar.text!){
            return true
        }else{
            return false
        }

    })
    resultController.tableView.reloadData()
}

//Assigning the searchbarcontroller
if #available(iOS 11.0, *) {
        self.navigationController?.navigationBar.prefersLargeTitles = true
        self.navigationItem.searchController = searchController
        self.navigationItem.hidesSearchBarWhenScrolling = false
    } else {
        tableView.tableHeaderView = searchController.searchBar
    }

您需要在显示您的 searchController 的视图控制器上将 definesPresentationContext 设置为 true

您正在这样做:

searchController.definesPresentationContext = true

但应该这样做:

definesPresentationContext = true

你需要添加 viewDidLoad() :

searchController.hidesNavigationBarDuringPresentation = false