// 实例化 let searchbar = UISearchBar(frame: CGRectMake(10.0,10.0,(CGRectGetWidth(self.view.frame) - 10.0 * 2),40.0)) self.view.addSubview(searchbar) searchbar.backgroundColor = UIColor.yellowColor() searchbar.barStyle = UIBarStyle.Default searchbar.barTintColor = UIColor.clearColor() searchbar.placeholder = "searchbar的使用" searchbar.tintColor = UIColor.redColor() searchbar.searchBarStyle = UISearchBarStyle.Minimal // 注意:showsBookmarkButton、showsSearchResultsButton不能同时设置 searchbar.showsCancelButton = true searchbar.showsBookmarkButton = true // searchbar.showsSearchResultsButton = true searchbar.delegate = self // 键盘类型设置 searchbar.keyboardType = UIKeyboardType.EmailAddress searchbar.returnKeyType = UIReturnKeyType.Done searchbar.secureTextEntry = false // 输入源设置(与textfiele、或textview类似) // searchbar.inputAccessoryView = nil // searchbar.inputView = nil // 第一响应,即进入编辑状态 searchbar.becomeFirstResponder() // 放弃第一响应,即结束编辑 // searchbar.resignFirstResponder() // searchbar.endEditing(true) // 结束编辑
// 添加协议 class ViewController: UIViewController,UISearchBarDelegate { override func viewDidLoad() { super.viewDidLoad() .... } }
// 实现代理方法 // MARK: - UISearchBarDelegate func searchBarShouldBeginEditing(searchBar: UISearchBar) -> Bool { print("1 searchBarShouldBeginEditing") return true } func searchBarTextDidBeginEditing(searchBar: UISearchBar) { print("2 searchBarTextDidBeginEditing") } func searchBar(searchBar: UISearchBar,textDidChange searchText: String) { print("3 searchBar") print("3 text=\(searchBar.text),string=\(searchText)") } func searchBar(searchBar: UISearchBar,shouldChangeTextInRange range: NSRange,replacementText text: String) -> Bool { print("4 searchBar") print("4 text=\(searchBar.text),range=\(range),string=\(text)") return true } func searchBarShouldEndEditing(searchBar: UISearchBar) -> Bool { print("5 searchBarShouldEndEditing") return true } func searchBarTextDidEndEditing(searchBar: UISearchBar) { print("6 searchBarTextDidEndEditing") } func searchBarSearchButtonClicked(searchBar: UISearchBar) { print("7 searchBarSearchButtonClicked") searchBar.endEditing(true) } func searchBarBookmarkButtonClicked(searchBar: UISearchBar) { print("8 searchBarBookmarkButtonClicked") searchBar.endEditing(true) } func searchBarCancelButtonClicked(searchBar: UISearchBar) { print("9 searchBarCancelButtonClicked") searchBar.endEditing(true) } func searchBarResultsListButtonClicked(searchBar: UISearchBar) { print("10 searchBarResultsListButtonClicked") searchBar.endEditing(true) } func searchBar(searchBar: UISearchBar,selectedScopeButtonIndexDidChange selectedScope: Int) { print("11 searchBar") }