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