2016-09-29 4 views
6

headerViewとしてtableViewと追加すると、すべてのデリゲートメソッドが期待どおりに実行されます。searchControllerのsearchBarプロパティにstoryboardのsearchBarを割り当てる方法

  1. self.myTableView.tableHeaderView = self.searchController.searchBar;

しかし、私は絵コンテから検索バーIBOutletを取り、self.searchController.searchBarに割り当てた場合、委任の方法が解雇されていません!

Iはまた、ビューに mySearchBarを埋め込み、次いで割り当てる試みた
  • _mySearchBar = self.searchController.searchBar;
  • _mySearchBarView = self.searchController.searchBar;
      をしかし、成功はありません!

    私はこれを行うための唯一の方法はUISearchControllerをサブクラス化して、カスタムsearchBar設定することであるように見えます間違っ

  • 答えて

    0

    何かをやっている:UISearchBarのカスタムサブクラスを使用するには

    を、サブクラスUISearchControllerこのプロパティを実装してカスタム検索バーを返します。

    UISearchControllersearchBar documentation

    +0

    これは正しいです。 A.)「UISearchController」はストーリーボード内で現在利用できません。 B.) 'UISearchController'またはカスタムアピアランスでカスタム機能を実装する唯一の方法は、サブクラス化です。 – TheCodingArt

    0

    あなたの第三の方法は、あなたがしなければならないすべてではなくビュー自体よりも、ビューのサブビューとしてsearchController.searchBarを追加している、あなたがしたいものを行うためのほぼ完璧です。

    let searchController = UISearchController(searchResultsController: searchResultsController) 
    searchBarContainer.addSubview(searchController.searchBar) 
    

    * searchBarContainerはストーリーボードでの表示です。 Can I use a UISearchController with a storyboard?

    が検索でこのスレッドに来る人のためにここでそれを再投稿:

    このコードは、このリンクで同様の質問に答えmylovemhzの礼儀です。

    +0

    @ peter-dunihoさん、stackoverflowの質問に答えるためのベストプラクティスを教えてくれてありがとうございました。私が今までに受けた最初の答え! – hubear

    関連する問題