当前位置:  开发笔记 > IOS > 正文

如何使用带有objectiveC的uisearchcontroller在ios 9中为tableview添加搜索选项

如何解决《如何使用带有objectiveC的uisearchcontroller在ios9中为tableview添加搜索选项》经验,为你挑选了1个好方法。



1> 小智..:

您可以UISearchController在iOS 9中使用

首先声明一个属性 UISearchController

@property (strong, nonatomic) UISearchController *searchController;

然后,在 viewDidLoad

self.searchController = [[UISearchController alloc] initWithSearchResultsController:nil];
self.searchController.searchResultsUpdater = self;
self.searchController.dimsBackgroundDuringPresentation = NO;
self.searchController.searchBar.delegate = self;

在创建时,UISearchController我们不需要单独的搜索结果控制器,因为我们将使用它UITableViewController自己.同样,我们也将使用UITableViewController它来实现UISearchResultsUpdating协议来更新搜索结果.我们不希望调暗基础内容,因为我们希望在用户键入搜索栏时显示过滤结果.该UISearchController负责创建我们的搜索栏的照顾.该UITableViewController也将作为搜索栏委托当用户改变搜索范围为.

接下来,添加searchBar到tableview标头

self.tableView.tableHeaderView = self.searchController.searchBar;

由于搜索视图在活动时覆盖了表视图,因此我们UITableViewController定义了表示上下文:

self.definesPresentationContext = YES;

我们需要实现UISearchResultsUpdating委托,以便在搜索文本发生变化时生成新的过滤结果:

- (void)updateSearchResultsForSearchController:(UISearchController *)searchController
{
  NSString *searchString = searchController.searchBar.text;
  [self searchForText:searchString scope:searchController.searchBar.selectedScopeButtonIndex];
  [self.tableView reloadData];
}

推荐阅读
mobiledu2402851323
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有