- // 实例化
- 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")
- }