2014-10-10 57 views
6

我在IOS8中使用新的UISearchController時遇到了問題。到目前爲止,我發現的每個示例都使用搜索欄作爲UITableView的標題視圖。當搜索欄需要顯示在其他地方時,你會做什麼?例如,將搜索欄放在表格外面以防止它滾動?如何使用它像UICollectionView?將UISearchController添加到非表視圖

我在這裏錯過了什麼嗎?似乎這不應該是那麼複雜。

回答

3

UISearchBar放置在導航欄的titleView中,可以防止滾動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; 

UISearchController依靠searchResultsController這應該是用於管理搜索的結果的視圖控制器。 當UISearchController處於活動狀態時,請確保searchResultsController指向的視圖控制器基於UISearchBar中的文本進行屬性更新。這樣你可以使用UISearchController和tableview或collectionview。