2016-09-29 78 views
6

當我將searchBar作爲headerViewtableView添加時,所有委託方法都按預期觸發。如何將searchBar的故事板分配給searchController的searchBar屬性

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

但是,如果我從故事情節進行搜索欄IBOutlet中,並將其分配給self.searchController.searchBar,委託方法不被解僱了!

  • _mySearchBar = self.searchController.searchBar;
  • 我也試着嵌入mySearchBar成的圖,然後分配:

  • _mySearchBarView = self.searchController.searchBar; 但沒有成功!
  • 我是不是做錯了什麼

    回答

    0

    它看起來像要做到這一點是繼承UISearchController的唯一途徑,再設置自定義searchBar

    要使用的UISearchBar自定義子類,小類UISearchController並實現此屬性以返回您的自定義搜索欄。

    UISearchControllersearchBar documentation

    +0

    這是正確的。 A.)'UISearchController'目前在故事板中不可用。 B.)使用'UISearchController'或自定義外觀實現自定義功能的唯一方法是通過子類化。 – TheCodingArt

    0

    你的第三種方法是做你想做的東西近乎完美的,所有你需要做的就是添加searchController.searchBar作爲視圖的子視圖,而不是視圖本身。

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

    * searchBarContainer是您在Storyboard中的視圖。

    此代碼是mylovemhz誰在這個環節回答了類似的問題的禮貌:Can I use a UISearchController with a storyboard?

    重新張貼在這裏是爲那些誰來到這個線程上的搜索。

    +0

    謝謝@ peter-duniho讓我知道回答一個關於stackoverflow的問題的最佳實踐。我給過的第一個答案! – hubear