如何将storyBar的searchBar分配给searchController的searchBar属性

时间:2016-09-29 11:00:00

标签: ios objective-c uisearchbar uisearchbardelegate

当我将searchBar添加为headerView tableView时,所有委托方法都会按预期触发。

  1. self.myTableView.tableHeaderView = self.searchController.searchBar;
  2. 但是,如果我从StoryBoard中获取searchBar IBOutlet并将其分配给self.searchController.searchBar,则不会触发委派的方法!

    1. _mySearchBar = self.searchController.searchBar;
    2. 我还尝试将mySearchBar嵌入到视图中然后分配:

      1. _mySearchBarView = self.searchController.searchBar; 但没有成功!
      2. 我做错了什么

2 个答案:

答案 0 :(得分:0)

看起来执行此操作的唯一方法是创建UISearchController的子类,然后设置自定义searchBar

  

要使用UISearchBar的自定义子类,子类UISearchController并实现此属性以返回自定义搜索栏。

UISearchController searchBar documentation

答案 1 :(得分:0)

你的第三种方法几乎可以完成你想做的事情,你所要做的就是将searchController.searchBar添加为视图的子视图,而不是视图本身。

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

* searchBarContainer是您在Storyboard中的视图。

此代码由 mylovemhz 提供,他在此链接回答了类似的问题:Can I use a UISearchController with a storyboard?

将此处重新发布给那些在搜索时来到此主题的人。