当前位置: 首页 > news >正文

swift中UISearchBar的使用

  1. // 实例化  
  2. let searchbar = UISearchBar(frame: CGRectMake(10.0, 10.0, (CGRectGetWidth(self.view.frame) - 10.0 * 2), 40.0))  
  3. self.view.addSubview(searchbar)  
  4.           
  5. searchbar.backgroundColor = UIColor.yellowColor()  
  6.           
  7. searchbar.barStyle = UIBarStyle.Default  
  8. searchbar.barTintColor = UIColor.clearColor()  
  9.           
  10. searchbar.placeholder = "searchbar的使用"  
  11. searchbar.tintColor = UIColor.redColor()  
  12. searchbar.searchBarStyle = UISearchBarStyle.Minimal  
  13.           
  14. // 注意:showsBookmarkButton、showsSearchResultsButton不能同时设置  
  15. searchbar.showsCancelButton = true  
  16. searchbar.showsBookmarkButton = true  
  17. // searchbar.showsSearchResultsButton = true  
  18.           
  19. searchbar.delegate = self  
  20.           
  21. // 键盘类型设置  
  22. searchbar.keyboardType = UIKeyboardType.EmailAddress  
  23. searchbar.returnKeyType = UIReturnKeyType.Done  
  24. searchbar.secureTextEntry = false  
  25.           
  26. // 输入源设置(与textfiele、或textview类似)  
  27. // searchbar.inputAccessoryView = nil  
  28. // searchbar.inputView = nil  
  29.           
  30.           
  31. // 第一响应,即进入编辑状态  
  32. searchbar.becomeFirstResponder()  
  33. // 放弃第一响应,即结束编辑  
  34. // searchbar.resignFirstResponder()  
  35. // searchbar.endEditing(true) // 结束编辑  
 
  1. // 添加协议  
  2. class ViewController: UIViewController, UISearchBarDelegate {  
  3.   
  4.     override func viewDidLoad() {  
  5.         super.viewDidLoad()  
  6.       ....  
  7.      }  
  8. }  
 
  1. // 实现代理方法  
  2. // MARK: - UISearchBarDelegate  
  3.       
  4. func searchBarShouldBeginEditing(searchBar: UISearchBar) -> Bool  {  
  5.         print("1 searchBarShouldBeginEditing")  
  6.   
  7.         return true  
  8. }  
  9.       
  10. func searchBarTextDidBeginEditing(searchBar: UISearchBar) {  
  11.         print("2 searchBarTextDidBeginEditing")  
  12. }  
  13.       
  14. func searchBar(searchBar: UISearchBar, textDidChange searchText: String) {  
  15.         print("3 searchBar")  
  16.           
  17.         print("3 text=\(searchBar.text), string=\(searchText)")  
  18. }  
  19.       
  20. func searchBar(searchBar: UISearchBar, shouldChangeTextInRange range: NSRange, replacementText text: String) -> Bool {  
  21.         print("4 searchBar")  
  22.           
  23.         print("4 text=\(searchBar.text), range=\(range), string=\(text)")  
  24.           
  25.         return true  
  26. }  
  27.       
  28. func searchBarShouldEndEditing(searchBar: UISearchBar) -> Bool  
  29. {  
  30.         print("5 searchBarShouldEndEditing")  
  31.     
  32.         return true  
  33. }  
  34.       
  35. func searchBarTextDidEndEditing(searchBar: UISearchBar) {  
  36.         print("6 searchBarTextDidEndEditing")  
  37. }  
  38.       
  39. func searchBarSearchButtonClicked(searchBar: UISearchBar) {  
  40.         print("7 searchBarSearchButtonClicked")  
  41.           
  42.         searchBar.endEditing(true)  
  43. }  
  44.       
  45. func searchBarBookmarkButtonClicked(searchBar: UISearchBar) {  
  46.         print("8 searchBarBookmarkButtonClicked")  
  47.           
  48.         searchBar.endEditing(true)  
  49. }  
  50.       
  51. func searchBarCancelButtonClicked(searchBar: UISearchBar) {  
  52.         print("9 searchBarCancelButtonClicked")  
  53.           
  54.         searchBar.endEditing(true)  
  55. }  
  56.       
  57. func searchBarResultsListButtonClicked(searchBar: UISearchBar) {  
  58.         print("10 searchBarResultsListButtonClicked")  
  59.           
  60.         searchBar.endEditing(true)  
  61. }  
  62.       
  63. func searchBar(searchBar: UISearchBar, selectedScopeButtonIndexDidChange selectedScope: Int) {  
  64.         print("11 searchBar")  

转载于:https://www.cnblogs.com/auvxx/p/6699528.html

相关文章:

  • MSP项目群管理介绍
  • cmake 添加头文件目录,链接动态、静态库(转载)
  • Phantomjs v.2.1 addCookie()始终返回错误
  • 在shell中编写函数
  • Gartner:自建大数据安全分析平台恐难逃失败厄运!
  • Linux A机器免密码SSH登录B机器
  • Python安装pandas
  • Play 2D games on Pixel running Android Nougat (N7.1.2) with Daydream View VR headset
  • 洛谷 1330 封锁阳光大学
  • windows server 安装phpVirtualBox web服务
  • Cmake 使用和交叉编译配置
  • java基础理论 程序控制流程
  • H3C IRF原理及 配置
  • puppet自动化基础
  • 认识jQuery Mobile?
  • [iOS]Core Data浅析一 -- 启用Core Data
  • [微信小程序] 使用ES6特性Class后出现编译异常
  • 【Under-the-hood-ReactJS-Part0】React源码解读
  • 【跃迁之路】【733天】程序员高效学习方法论探索系列(实验阶段490-2019.2.23)...
  • C++回声服务器_9-epoll边缘触发模式版本服务器
  • codis proxy处理流程
  • ES6 学习笔记(一)let,const和解构赋值
  • Facebook AccountKit 接入的坑点
  • java多线程
  • Nginx 通过 Lua + Redis 实现动态封禁 IP
  • puppeteer stop redirect 的正确姿势及 net::ERR_FAILED 的解决
  • python 学习笔记 - Queue Pipes,进程间通讯
  • Quartz初级教程
  • springboot_database项目介绍
  • uni-app项目数字滚动
  • WordPress 获取当前文章下的所有附件/获取指定ID文章的附件(图片、文件、视频)...
  • 阿里云Kubernetes容器服务上体验Knative
  • 第13期 DApp 榜单 :来,吃我这波安利
  • 对话:中国为什么有前途/ 写给中国的经济学
  • 分布式熔断降级平台aegis
  • 搞机器学习要哪些技能
  • 和 || 运算
  • 来,膜拜下android roadmap,强大的执行力
  • 模仿 Go Sort 排序接口实现的自定义排序
  • 前端面试总结(at, md)
  • 通过来模仿稀土掘金个人页面的布局来学习使用CoordinatorLayout
  • AI算硅基生命吗,为什么?
  • 说说我为什么看好Spring Cloud Alibaba
  • 我们雇佣了一只大猴子...
  • # 数据结构
  • #【QT 5 调试软件后,发布相关:软件生成exe文件 + 文件打包】
  • #快捷键# 大学四年我常用的软件快捷键大全,教你成为电脑高手!!
  • (07)Hive——窗口函数详解
  • (11)MATLAB PCA+SVM 人脸识别
  • (6)STL算法之转换
  • (C++17) std算法之执行策略 execution
  • (delphi11最新学习资料) Object Pascal 学习笔记---第8章第2节(共同的基类)
  • (大众金融)SQL server面试题(1)-总销售量最少的3个型号的车及其总销售量
  • (二)PySpark3:SparkSQL编程
  • (附源码)计算机毕业设计SSM智慧停车系统