UISearchBar -- 备忘

Posted Alex_sun

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了UISearchBar -- 备忘相关的知识,希望对你有一定的参考价值。

UISearchBar

UISearchBar是一个搜索栏,继承自UIView,也是常用的控件之一,所以特别写一篇备忘方便以后做工具文章。

例子:

        let searchBar = UISearchBar(frame: CGRectMake(0, 64, view.frame.size.width, 40))
        searchBar.barStyle = .Default
        searchBar.placeholder = "请输入一些内容"
        searchBar.showsCancelButton = true
        searchBar.showsSearchResultsButton = true
        searchBar.tintColor = UIColor.orangeColor()
        searchBar.showsScopeBar = true
        searchBar.scopeButtonTitles = ["分组1", "分组2"]
        searchBar.selectedScopeButtonIndex = 1
        searchBar.delegate = self
        
        view.addSubview(searchBar)

一些常用的属性方法(更多请参考官方文档): 

  • barStyle:搜索栏风格,(default, black)。
  • text:搜索栏内的文字。
  • placeholder:占位文字。
  • showsCanclButton:是否显示取消按钮。
  • tintColor:光标颜色。
  • barTintColor:搜索栏背景颜色。
  • showsScopeBar:是否显示附加按钮视图。
  • scopeButtonTitles:设置了showsScopeBar后 可以设置每个按钮的title。
  • selectedScopeButtonIndex:应该选中那个附加按钮。
  • inputAccessoryView:键盘的附加视图。
  • backgroundImage:搜索栏的背景图片。
  • setShowsCancelButton(Bool, animated: Bool):是否显示取消按钮,可以使用动画。
  • setBackgroundImage(UIImage?, forBarPosition: UIBarPosition, barMetrics: UIBarMetrics):设置背景图片。
  • backgroundImageForBarPosition(UIBarPosition, barMetrics: UIBarMetrics):获取背景图片。

 

代理方法:

    // 是否应该开始编辑
    func searchBarShouldBeginEditing(searchBar: UISearchBar) -> Bool {
        return true
    }
    
    // 搜索栏开始编辑的回调
    func searchBarTextDidBeginEditing(searchBar: UISearchBar) {
        print("begin editing")
    }
    
    // 是否应该结束编辑
    func searchBarShouldEndEditing(searchBar: UISearchBar) -> Bool {
        return true
    }
    
    // 搜索栏结束编辑的回调
    func searchBarTextDidEndEditing(searchBar: UISearchBar) {
        print("end editing")
    }
    
    // 当搜索栏内的文字发生变化时调用,返回是否允许改变。
    func searchBar(searchBar: UISearchBar, shouldChangeTextInRange range: NSRange, replacementText text: String) -> Bool {
        print("\(range), \(text)")
        return true
    }
    
    // 取消按钮点击事件
    func searchBarCancelButtonClicked(searchBar: UISearchBar) {
        print("cancel button click")
        searchBar.text = nil
        searchBar.resignFirstResponder()
    }
    
    // 点击了搜索按钮的回调
    func searchBarSearchButtonClicked(searchBar: UISearchBar) {
        print("search button click")
        searchBar.resignFirstResponder()
    }
    
    // 搜索结果列表按钮被点击
    func searchBarResultsListButtonClicked(searchBar: UISearchBar) {
        print("results list click")
    }
    
    // 当搜索栏的内容已经发生变化时调用
    func searchBar(searchBar: UISearchBar, textDidChange searchText: String) {
        print(searchText)
    }
    
    // 点击了附加视图按钮后调用
    func searchBar(searchBar: UISearchBar, selectedScopeButtonIndexDidChange selectedScope: Int) {
        print(selectedScope)
    }

 

以上是关于UISearchBar -- 备忘的主要内容,如果未能解决你的问题,请参考以下文章

Flutter 布局备忘录

常用python日期日志获取内容循环的代码片段

几个关于js数组方法reduce的经典片段

2D TOOLKIT备忘录

几个关于js数组方法reduce的经典片段

如何通过代码隐藏 UISearchBar?