iOS 11 UISearchController在键入时消失

iOS 11 UISearchController在键入时消失,ios,swift,uisearchcontroller,Ios,Swift,Uisearchcontroller,iOS 11搜索栏在键入时不断消失我已尝试设置searchController.hidesNavigationBarDuringPresentation=false以及searchController.definesPresentationContext=true下面是一段视频,介绍了正在发生的事情 我的委托函数 func updateSearchResults(for searchController: UISearchController) { filarr = arr.filter

iOS 11搜索栏在键入时不断消失我已尝试设置
searchController.hidesNavigationBarDuringPresentation=false
以及
searchController.definesPresentationContext=true
下面是一段视频,介绍了正在发生的事情

我的委托函数

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

您是否在代理方法中添加了任何内容?如果是,请将其添加到您的问题中。我已更新了问题您如何以及在何处分配
UISearchController
?在ViewDidload中,我更新了问题@RobKare您是否实际设置了
SearchResultUpdate
搜索栏。代理
代理?您节省了我的时间!