0301——SearchController
?創建顯示的頁面
? ? ? ?SearchViewController * searchVC = [[SearchViewController alloc]init];
告訴搜索控制器將結果顯示在創建的頁面上
? ? ? ?self.searchController = [[UISearchController alloc]initWithSearchResultsController:searchVC];
? ?由誰來監聽搜索內容發生的事件
? ? ? ?self.searchController.searchResultsUpdater = self;
? ?在tableview上方顯示searchbar
? ? ? ?self.MyTableView.tableHeaderView = _searchController.searchBar;
? ?設置提供顯示新頁面
? ? ? ?self.searchController.definesPresentationContext= YES;
? ?
?
<UISearchResultsUpdating>
代理方法
-(void)updateSearchResultsForSearchController:(UISearchController *)searchController{? ?
? ?設置查找條件
? ? NSPredicate * predicate = [NSPredicate predicateWithFormat:@"SELF contains[cd] %@",searchController.searchBar.text];
? ?過濾出結果
? ? NSArray * results = [_dataSourceArray filteredArrayUsingPredicate:predicate];
? ?找到應顯示的結果位置searchResultsController
? ? SearchViewController *sResultCtrl = (SearchViewController *)_searchController.searchResultsController;
? ?設置數據源
? ? sResultCtrl.dataSourceArray = results;
}
?
?
結果類?SearchViewController?中
- (void)setDataSourceArray:(NSArray *)dataSourceArray{
? ? _dataSourceArray = dataSourceArray;
? ? 刷新列表
? ? [self.myTableView reloadData];
}
轉載于:https://www.cnblogs.com/damonWq/p/5229675.html
總結
以上是生活随笔為你收集整理的0301——SearchController的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: bootstrap基础学习十篇
- 下一篇: sed替换变量