将UISearchController添加到非表视图

pbu*_*eit 6 uisearchbar ios8 uisearchcontroller

我在IOS8中使用新的UISearchController时遇到了麻烦.到目前为止,我发现的每个例子都使用搜索栏作为UITableView的标题视图.当搜索栏需要在其他地方显示时,你会怎么做?例如,将搜索栏放在表格之外以防止其滚动?用它来像UICollectionView一样呢?

我在这里错过了什么吗?这似乎不应该那么复杂.

Pra*_*I V 3

将 放置在导航栏的UISearchBartitleView,可以防止在滚动 tableview 时导航栏滚动。

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;
Run Code Online (Sandbox Code Playgroud)

UISearchController依赖于searchResultsController管理搜索结果的视图控制器。确保属性指向的视图控制器根据激活时的searchResultsController 文本进行更新。这样您就可以将 UISearchController 与 tableview 或 collectionview 一起使用。UISearchBarUISearchController