2016-09-29 47 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