我在IOS8中使用新的UISearchController时遇到了麻烦。到目前为止,我发现的每个示例都使用搜索栏作为UITableView的标题视图。当搜索栏需要在其他地方显示时,你会怎么做?例如,将搜索栏放在表格之外以防止其滚动?用它来像UICollectionView一样呢?
我在这里遗漏了什么吗?它似乎不应该那么复杂。
答案 0 :(得分:3)
将UISearchBar
放置在导航栏的titleView
中,可以防止滚动桌面视图时滚动它。
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;
UISearchController
依赖于searchResultsController
,searchResultsController
应该是管理搜索结果的视图控制器。
当UISearchBar
处于活动状态时,请确保基于UISearchController
中的文本{{1}}属性更新指向视图控制器。这样,您就可以将UISearchController与tableview或collectionview一起使用。