使用UISearchController修复了UISearchBar - 不使用UITableView的标题视图

时间:2015-03-22 08:58:04

标签: ios uisearchbar uisearchcontroller

是否可以将UISearchController的UISearchBar放在除UITableView标题视图之外的其他位置?

apple's sample code for UISearchController中,使用了以下内容。

[self.searchController.searchBar sizeToFit];
self.tableView.tableHeaderView = self.searchController.searchBar; 

是否可以将searchBar放在其他位置? 假设我们想要实现一个固定的UISearchBar,就像在联系人应用程序中使用的那样。 我试过了,但搜索栏根本没有出现。

3 个答案:

答案 0 :(得分:16)

您可以将UISearchController的UISearchBar放在导航栏中,以便它保持固定

self.searchController.hidesNavigationBarDuringPresentation = NO;
self.searchController.searchBar.searchBarStyle = UISearchBarStyleMinimal;

// Include the search bar within the navigation bar.
self.navigationItem.titleView = self.searchController.searchBar;

self.definesPresentationContext = YES;

答案 1 :(得分:9)

创建一个uiview并在此视图中添加searchController.searchbar。 之后,在viewController.view中添加此视图。在表格视图上方。

然后它不会滚动。

   var viewTemp = UIView(frame: CGRectMake(0.0, 64.0,320.0, 44))
   viewTemp.addSubview(self.searchController.searchBar)
   self.view.addSubview(viewTemp);

答案 2 :(得分:0)

不是直接将UISearchBar保留在UITableView的顶部。 将UISearchBar放在视图内。 enter image description here