настроить контроллер поиска в контроллере представления:панель поиска в повторно используемой ViewController не реагирует после Segue
searchController = UISearchController(searchResultsController: nil)
searchController.searchResultsUpdater = self
searchController.dimsBackgroundDuringPresentation = false
searchController.searchBar.placeholder = getLocalizedString("searchByName")
searchController.searchBar.setValue(getLocalizedString("cancel"), forKey:"_cancelButtonText")
searchController.searchBar.delegate = self
searchController.hidesNavigationBarDuringPresentation = false
searchController.searchBar.showsCancelButton = true
searchController.searchBar.sizeToFit()
Затем, когда кнопка поиска в панели навигации щелкают, я представляю панель поиска в навигации бара titleView:
self.navigationItem.setHidesBackButton(true, animated: true)
self.navigationItem.rightBarButtonItem = nil
self.navigationItem.leftBarButtonItem = nil
self.navigationItem.titleView = searchController.searchBar
searchController.searchBar.becomeFirstResponder()
Когда я использую этот контроллер вида в качестве элемента панели вкладок, панель поиска работает так, как ожидалось.
Я также повторно использую контроллер вида с помощью segue с другого контроллера вида, который также имеет контроллер поиска.
После выполнения segue и нажатия кнопки поиска отображается панель поиска, но не отвечает на клики или что-то еще.
Update
Я просто понял, что это потому, что я использую:
self.definesPresentationContext = true
Любая идея, почему? Мне нужно это, потому что если экран не затушевывается, если я перемещаюсь между вкладками.
Спасибо.