コンテキスト:UISearchControllerが実装されたマップビューがあります。検索コントローラはその結果を別のテーブルビューコントローラに表示しますUISearchControllerビューを閉じるにはどうしたらいいですか?
私はthis answerと同じビュー内で検索コントローラを却下する方法を説明しています。ただし、結果ページは元のページとは異なるビューです。私は、検索コントローラは、結果を取得するとき
let resultsPage = ResultsTableViewController()
let searchController = UISearchController(searchResultsController: resultsPage)
はだから今、それはテーブルビューコントローラ上に表示しています。ユーザーが結果の1つを選択すると、このビューを閉じてマップビューに戻り、その選択を渡します。私はセグーでこれを行うべきですか、より良いプログラマブルなアプローチがありますか?
私は結局同じことをしました。 segueはきれいではなかったので、私はdidSelectを使って値をマップビューに渡し、self.dismissViewControllerAnimatedという名前でマップビューの検索機能を完成させました。値を渡すには、ResultsTableViewController内のMapViewControllerへの参照があります。元の質問に示すようにResultsTableViewControllerを作成し、次にresultsPage.mapView = selfと言う –