swift中UISearchBar的使用

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


相关文章

软件简介:蓝湖辅助工具,减少移动端开发中控件属性的复制和粘...
现实生活中,我们听到的声音都是时间连续的,我们称为这种信...
前言最近在B站上看到一个漂亮的仙女姐姐跳舞视频,循环看了亿...
【Android App】实战项目之仿抖音的短视频分享App(附源码和...
前言这一篇博客应该是我花时间最多的一次了,从2022年1月底至...
因为我既对接过session、cookie,也对接过JWT,今年因为工作...