第四章:IOS Table表视图搜索功能UISearchBar

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了第四章:IOS Table表视图搜索功能UISearchBar相关的知识,希望对你有一定的参考价值。

UISearchBar经常会跟UITable一齐使用,所以在此就介绍一下UISearchBar

先来看看结构

技术分享

下面再看看它有哪些样式

  • 技术分享

    基本搜索栏。里面????的Search文字用于提示用户??入查询关??字,搜索栏的Placeholder属性可以设置这个提示信息 

  • 技术分享

    带有??除按钮的搜索栏。在??入框中??入文字时,会在后面出现??????除按钮,点????除按钮可以??除??入框中的文字

  • 技术分享

    带有查询结果按钮的搜索栏。显示最??搜索结果,显示设定如图4-31所示,选中 Options下的Shows Search Results Button复选框,事件??应由UISearch- BarDelegate对象中的searchBarResultsListButtonClicked:方法管理 

  • 技术分享

    带有书签按钮的搜索栏。显示用户收??的书签列表,显示设定如图4-31所示,选 中Options 中的Shows Bookmarks Button复选框,事件??应由UISearchBarDelegate 对象中的searchBarBookmarkButtonClicked:方法管理 

  • 技术分享

    带有取??按钮的搜索栏。显示设定如图4-31所示,选中Options下的Show Cancel Button复选框,事件??应由UISearchBarDelegate对象中的searchBarCancel- ButtonClicked:方法管理 

  • 技术分享

    带有Scope的搜索栏。显示设定如图4-31所示,选中Options下的Shows Scope Bar 复选框,同时需要设定下面的Scope Titles。选中这个选项时,搜索栏一出现?? 会在下面显示Scope Titles。如果????化时不??显示,??在搜索栏??得??点时显 示,??可以在视图控制器的viewDidLoad方法中加入下面的代码:

    [self.searchBar setShowsScopeBar:NO];
    [self.searchBar sizeToFit]; 其次,事件??应由UISearchBarDelegate或 UISearchDisplayDelegate对象管理 

 

注:搜索的时候可以用 这个类NSPredicate具体使用方法可以在百度一下

 

在使用前必须使用两个协议

  • UISearchBarDelegate
  • UISearchDisplayDelegate

在搜索栏中??入查询??件,会??发UISearchBarDelegate委托对象的searchBar:textDidChange:方法和 UISearchDisplayDelegate委托对象的searchDisplayController:shouldReloadTableForSearchString:方 法,我们实现??们其中之一??可以??到搜索的基本目的。searchDisplayController:shouldReloadTable- ForSearchString:方法的优??在于可以控制表视图数据源是否重新加载。如果采用UISearchBarDelegate委托对象的searchBar:textDidChange:方法实现搜索功能,我们还需

要自己调用[tableView reloadData]方法重新加载表视图数据。

 

本例中实现了searchDisplayController: shouldReloadTableForSearchString:方法,??在ViewController.m文件中的实现代码如下:

- (BOOL)searchDisplayController:(UISearchDisplayController *)controller shouldReloadTableForSearchString:(NSString *)searchString
{
    //如果??回YES????表视图可??重新加载
    return YES;

} 

 ios9之后已经不再建议使用UISearchDisplayController,已经改用UISearchController而且在xcode7.2.1版本里面,界面是不能拖出UISearchController

 

以上是关于第四章:IOS Table表视图搜索功能UISearchBar的主要内容,如果未能解决你的问题,请参考以下文章

第二章:IOS Table表视图单元格简单介绍

带有tableview和搜索功能的iOS App

UISearchBar 没有出现

在单个视图iOS中加载2个表视图[关闭]

单击时搜索栏正在更改位置

在表视图单元 iOS 中将值设置为 UILabel