zoukankan      html  css  js  c++  java
  • UISearchBar

    UISearchBar——方便用户搜索信息

    在移动应用程序的世界里,用户对信息获取的速度要求非常高!iOS用户希望他们需要的信息能够迅速地,直观地展现在他们面前
    因为UITableView的上下滚动能让用户迅速,自然地浏览大量信息,许多基于UIKit的应用都使用了UITableView来组织信息。但如果信息量非常非常大,让用户上下滚动如此长的列表是非常没有
    效率的。所以一个搜索的功能就是必须的了 UISearchBar控件,能让用户迅速的筛选有用的信息! 今时今日,用户在应用里看到很长的列表时,都会期待一个搜索的功能。如果他们找不到搜索功能,他们会非常的沮丧

    UISearchBar工作原理

    其本身不做任何搜索,而仅是提供一个基本的iOS搜索栏界面
    UISearchBar类用delegate协议的方式来告诉应用程序的其他部分,用户正在搜索栏中做什么
    程序员需要自己编写对比字符串和过滤搜索的方法
    
    注意:实际应用中需要使用Search Bar and Search Display Controller

    为什么是Search Bar and Search Display Controller?

    搜索显示控制器用来控制一个搜索栏以及一个table view。这个table view会显示搜索过滤后的信息,而这些信息来源于另一个视图控制器
    即“search display controller”(搜索显示控制器)需要知道table view controller控制的数据,然后在自己的table view中显示搜索过滤后的结果。这个table view会覆盖
    table view controller的视图,这样用户只能看到过滤后的结果

    UISearchBar的属性(1)

    Text: 设置出现在搜索栏中的默认字符串,如果需要指定默认搜索内容时使用
    Placeholder: 在搜索栏没有添入任何字符串时,一般会显示一串灰色的字符来提示用户输入搜索信息
    Prompt: 属性值会出现在搜索栏上方。对于有复杂搜索功能的程序,用户可能需要一些指导信息
    Style & Tint: 设置搜索栏的样式和颜色。建议使用和UINavigationBar上同样的设置

    UISearchBar的属性(2)

    Show Search Results Button: 如果选中此选项,搜索栏右边会出现一个灰色按钮。可以用来显示最近几次的搜索,或者上次搜索的结果,通过Search Bar的代理方法可以控制该按钮的行为
    Show Bookmarks Button: 如果选中此选项,搜索栏右边会出现一个标准的蓝色书签按钮。用户可以调出他们储存的书签,通过Search Bar的代理方法可以控制该按钮的行为
    Show Cancel Button: 如果选中此选项,搜索栏右边会出现一个标准的取消按钮,让用户取消搜索。初始不要选中此选项,因为当用户在搜索栏中输入内容后,该按钮会自动出现
    Shows Scope Bar(显示范围栏) & Scope Titles(范围标题): 帮助用户在指定范围内进行搜索,以缩小搜索范围
    Capitalize(大小写)、Correction(自动纠错)、Keyboard(键盘): 与UITextField的属性相同,用于辅助用户输入

    UISearchBar演练

    1. 建立UINavigationController的应用程序
    2. 完成QQ好友不分组列表功能
    2.1    建立好友数据模型
    2.2    加载数据
    2.3    设置tableView的数据源方法
    3. 添加搜索功能
    3.1    在Storyboard中添加“搜索显示控制器”并讲解为什么是搜索显示控制器而不仅仅是搜索栏
    3.2    在.h中遵守UISearchDisplayDelegate协议
    3.3    添加过滤数组属性,以保存搜索结果
    3.4    实现searchDisplayController代理方法实现搜索功能
    - (BOOL)searchDisplayController:shouldReloadTableForSearchString:
    3.5    修改数据源方法,针对不同的表格处理内容显示
  • 相关阅读:
    uniapp请求拦截
    stellar视差插件
    fullpage全屏插件应用
    fullpage全屏插件简介
    WdatePicker日期插件
    Ueditor富文本编辑器
    layer弹出层
    验证码绘制
    Ajax跨域访问
    JQuery封装的ajax方法
  • 原文地址:https://www.cnblogs.com/HJiang/p/4280511.html
Copyright © 2011-2022 走看看