目录

  • iOS 搜索栏控件 UISearchBar
    • 1. UISearchBar 使用
    • 2. UISearchBarDelegate 协议详解
    • 附 Github 源码:

iOS 搜索栏控件 UISearchBar

1. UISearchBar 使用


// 创建 UISearchBar
let searchBar = UISearchBar(frame: CGRect(x: 15, y: 1400, width: 350, height: 150))// 设置 UISearchBar 风格
searchBar.searchBarStyle = UISearchBar.Style.minimal // 极简风格// 设置 UISearchBar 风格颜色
//  searchBar.barTintColor = UIColor.cyan
// 设置 UISearchBar 背景图片
//  searchBar.backgroundImage = UIImage(named: "demo")// 设置 UISearchBar 提示文字
searchBar.placeholder = "请输入关键字"// 设置 UISearchBar 标题
searchBar.prompt = "搜索框控件标题"// 显示 UISearchBar 右侧取消按钮
searchBar.showsCancelButton = true// 显示 UISearchBar 书库按钮
searchBar.showsBookmarkButton = true// 显示 UISearchBar 搜索结果按钮
searchBar.showsSearchResultsButton = false// 设置 UISearchBar 显示附件视图
searchBar.showsScopeBar = true// 设置 UISearchBar 附件视图的标题
searchBar.scopeButtonTitles = ["综合", "销量", "价格", "筛选"]// 设置 UISearchBar 附件视图默认选中的索引
searchBar.selectedScopeButtonIndex = 1// 设置协议
searchBar.delegate = selfscrollView.addSubview(searchBar)

效果展示:

2. UISearchBarDelegate 协议详解


// 搜索栏将要开始编辑时回调,返回 true 允许进入编辑态,否则不允许
func searchBarShouldBeginEditing(_ searchBar: UISearchBar) -> Bool {print("searchBarShouldBeginEditing")return true
}// 搜索栏已经开始编辑时回调
func searchBarTextDidBeginEditing(_ searchBar: UISearchBar) {print("searchBarTextDidBeginEditing")
}// 搜索栏将要结束编辑时回调,返回 true 允许结束编辑态,否则不允许
func searchBarShouldEndEditing(_ searchBar: UISearchBar) -> Bool {print("searchBarShouldEndEditing")return true
}// 搜索栏已经结束编辑时回调
func searchBarTextDidEndEditing(_ searchBar: UISearchBar) {print("searchBarTextDidEndEditing")
}// 搜索栏的文本发生变化时回调。非常重要
func searchBar(_ searchBar: UISearchBar, textDidChange searchText: String) {print("searchBar, searchText: \(searchText)")
}// 搜索栏的文本将要发生变化时回调,返回 false 则此次修改无效
func searchBar(_ searchBar: UISearchBar, shouldChangeTextIn range: NSRange, replacementText text: String) -> Bool {print("searchBar, replacementText: \(text)")return true
}// 点击键盘上的搜索按钮时回调
func searchBarSearchButtonClicked(_ searchBar: UISearchBar) {print("searchBarSearchButtonClicked")
}// 点击搜索栏的书库按钮时回调
func searchBarBookmarkButtonClicked(_ searchBar: UISearchBar) {print("searchBarBookmarkButtonClicked")
}// 点击搜索栏的取消按钮时回调
func searchBarCancelButtonClicked(_ searchBar: UISearchBar) {print("searchBarCancelButtonClicked")
}// 点击搜索栏的搜索结果按钮时回调
func searchBarResultsListButtonClicked(_ searchBar: UISearchBar) {print("searchBarResultsListButtonClicked")
}// 点击搜索栏的附件视图上的选项按钮时回调
func searchBar(_ searchBar: UISearchBar, selectedScopeButtonIndexDidChange selectedScope: Int) {print("searchBar, selectedScopeButtonIndexDidChange: \(selectedScope)")
}

日志打印:

附 Github 源码:

ViewController.swift

【iOS 开发】搜索栏控件 UISearchBar相关推荐

  1. iOS开发--UIKit控件之UISearchBar(搜索栏)

    今天因为需求原因,需要用到搜索控件:之前一直没有用到过这个控件,所以去百度了一下,找到一篇可以说很齐全的资料,感谢这位作者. 然而,我并没有找到可以更改字体大小的属性或方法,希望有知道的告诉我一声,谢 ...

  2. iOS开发图片控件(ImageView)绑定代码并显示一张图片

    我在之前的一篇博客<iOS中如何显示一张图片>中谈到如何使用Image View来显示图片,这个操作是直接在Main.storyboard实现的.也就是说这张图片是写死在界面中了.但是在以 ...

  3. IOS开发UIScrollView控件详解

    首先实现UIScrollViewDelegate协议: [plain] view plaincopy #import <UIKit/UIKit.h> @interface Activity ...

  4. IOS开发UI控件UIScrollView和Delegate的使用

    1. 什么是UIScrollView 移动设备的屏幕大小是极其有限的,因此直接展示在用户眼前的内容也相当有限 当展示的内容较多,超出一个屏幕时,用户可通过滚动手势来查看屏幕以外的内容 普通的UIVie ...

  5. iOS开发 ---- 其他控件,弹窗,滑块,菊花,步进,分段等

    UIControlHub UISwitch 开关 1. 继承于UIControl 默认大小事79*27 2. 一般通过center属性来设位置 3. tintColor 边框的颜色 4. onTint ...

  6. iOS开发-UI控件:UIImagePickerController 视频录制操作,视频大小,时间长度

    转自: http://www.cnblogs.com/cocoajin/p/3494290.html 简介: 使用 iOS 系统 UIImagePickerController 获取视频大小 获取视频 ...

  7. 从0到1搭建移动App功能自动化测试平台(2):操作iOS应用的控件

    转载:http://debugtalk.com/post/build-app-automated-test-platform-from-0-to-1-Appium-interrogate-iOS-UI ...

  8. android 仿照ios 图片选择,GitHub - wildma/PictureSelector: Android 图片选择器(仿 IOS 图片选择控件)...

    PictureSelector Android 图片选择器(仿 IOS 图片选择控件) 效果图 功能特点 支持通过拍照获取图片 支持通过相册获取图片 支持图片是否裁剪两种场景 支持仿 IOS 底部弹出 ...

  9. C#进行MapX二次开发之控件基本操作

    上篇介绍了MapX的部分基本使用代码,包括放大.缩小.缩放到初始大小(全图).平移.矩形选择.圆形选择.箭头.打开图层对话框 .打开ActiveX属性对话框 .添加符号等基本操作代码,本篇继续探讨一些 ...

最新文章

  1. 自动驾驶公交车开上苏州街头,这次不是“试运营”了,市民乘车依然免费
  2. 很牛逼的短链接,我们一起来晒晒短链接程序(转)
  3. Hash散列算法解析
  4. java递归算法实现
  5. Extjs4 MVC 添加view层
  6. ubuntu 安装 php
  7. 077 Combinations 组合
  8. python创建和控制的实体称为_Python eds包_程序模块 - PyPI - Python中文网
  9. 传递情感贺卡海报,你知道怎么设计么?让设计更简单,从临摹PSD模板开始
  10. 怎么取消打开文件的安全警告?
  11. 抓包分析数据帧中IP数据包的一些关键字段【南邮网课例题】
  12. 高速缓存(cache)原理
  13. The eighth of Word-Day
  14. 苹果官方mfi认证名单_【大型推销配件现场】苹果回应iPhone12消磁,这波操作太6了 - 社会...
  15. 配置软路由-同时连接内网和外网
  16. unicode编码 中文标点符号
  17. 自助广告插件系统 7.4版本 高颜值网站广告代码
  18. 【MM表】MARD VS S032
  19. 人工雨量计_新型人工观测报警雨量计 型号:XYL-6
  20. 电大计算机本科考试试题,电大计算机考试本科试题电大计算机考试本科试题.doc...

热门文章

  1. ROBOTSTUDIO中基础术语、在线功能
  2. n76e885_N76E885AT20_(NUVOTON(新唐))N76E885AT20中文资料_价格_PDF手册-立创电子商城
  3. maven快速入门第十四讲——nexus私服简介及安装
  4. android zalo 分享sdk_zalo安卓版
  5. python微博涨粉_爬取微博用户公开信息,分析为周杰伦打榜的夕阳红老年团,告诉你他们真实年龄!...
  6. 一文了解Zipkin
  7. Halcon算子总结
  8. Spring Security跨站请求伪造(CSRF)
  9. 浅谈淘宝类目属性体系:商品搜索背后的逻辑架构
  10. Oracle P6软件计划编制时的组织机构