Help us understand the problem. What is going on with this article?

UISearchBarのresultSearchControllerをSearchBarが空値の状態でも表示する

More than 3 years have passed since last update.

こんにちは :octocat:

通常のUISearchBarの実装では、SearchBarがテキストを持たないとき、もとのビューが見え続けます。
ですが、SearchBarがテキストを持たないときでもアクティブになったタイミングでsearchResultsControllerを表示したいときがあるかと思います。
検索したところStackOverFlowにジャストな記事()がありましたので、学習記録がてら日本語版として書いておきます。

環境

  • macOS 10.12 sierra
  • Xcode 8.0 (8A218a)
  • Swift 3.0

解決法

  • UISearchBarを実装しているクラスで、さらにUISearchControllerDelegateプロトコルを取り入れます
resultSearchController.delegate = self
  • willPresentSearchControllerを実装します。
extension HogeViewController: UISearchControllerDelegate {
    func willPresentSearchController(_ searchController: UISearchController) {
        DispatchQueue.main.async {
            searchController.searchResultsController!.view.isHidden = false
        }
    }
}
  • didPresentSearchControllerを実装します。
func didPresentSearchController(_ searchController: UISearchController) {
    searchController.searchResultsController!.view.isHidden = false
}

詳しくは元記事もあわせてご覧ください :eyes:

keisei_1092
よろしくお願いします。
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away