UI控件之UISearchBar

//  UISearchBar

//

//  Created by Catherine on 2017/8/29.

//  Copyright © 2017 Catherine. All rights reserved.

//


import UIKit


class ViewController: UIViewController ,UISearchBarDelegate{

        let searchBar : UISearchBar = UISearchBar(frame: CGRect(x: 20, y: 100, width: 280, height: 50))

    override func viewDidLoad() {

        super.viewDidLoad()

        // Do any additional setup after loading the view, typically from a nib.

        //设置搜索框上的默认提示语(浅色)--- 输入的时候文字消失

        searchBar.placeholder = "请输入关键字"

        //设置搜索框的默认文字

        searchBar.text = "hhh"

        //设置搜索框风格

        searchBar.barStyle = UIBarStyle.default

        

        //.black

        //搜索框的背景(title作用)文字  ----输入的时候文字不会消失

        searchBar.prompt = "title"

        //设置相应功能按钮的显示与否

        searchBar.showsBookmarkButton = true

        //searchBar.showsCancelButton = true

        //searchBar.showsSearchResultsButton = true

        //设置渲染颜色(光标等一些搜索框附件上的颜色)

        searchBar.tintColor = UIColor.red

        //设置搜索栏的颜色

        searchBar.barTintColor = UIColor.blue

        //设置搜索框的附件视图

        searchBar.scopeButtonTitles = ["1","2","3","4"]

        //设置展示附件视图

        searchBar.showsScopeBar = true

        //设置代理

        searchBar.delegate = self

        

        self.view.addSubview(searchBar)

        

        

    }

    override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) {

        //不处于第一相应、、点击其他的地方收键盘

        searchBar.resignFirstResponder()

    }

    

    //代理回调函数

    //点击附件视图代理方法的回调

    func searchBar(_ searchBar: UISearchBar, selectedScopeButtonIndexDidChange selectedScope: Int) {

        print(selectedScope)//打印选中的框的标号【从0开始排序】

    }

    //输入框文字变化时调用的方法

    func searchBar(_ searchBar: UISearchBar, textDidChange searchText: String) {

    //    print(searchText)//打印输入的文字

    }

    //点击图书按钮触发的方法

    func searchBarBookmarkButtonClicked(_ searchBar: UISearchBar) {

        print("s")

    }

    //点击结果按钮触发的方法

    func searchBarResultsListButtonClicked(_ searchBar: UISearchBar) {

        print("3")

        

    }

    //return false 时不能进入编辑状态

    func searchBarShouldBeginEditing(_ searchBar: UISearchBar) -> Bool {

        return true

    }

    //不能结束编辑,与上面第一响应一样,始终是第一响应,键盘不会消失

    func searchBarShouldEndEditing(_ searchBar: UISearchBar) -> Bool {

        return true

    }

    //进行输入时 每输入一个字符显示一个字符。与上方searchText(全显示)不同------可用于检测用户的输入文字,如果要求输入字母,输入数字则显示错误

    func searchBar(_ searchBar: UISearchBar, shouldChangeTextIn range: NSRange, replacementText text: String) -> Bool {

        print(text)

        return true

    }

    //点击取消按钮时触发的方法

    func searchBarCancelButtonClicked(_ searchBar: UISearchBar) {

        

    }

    //点击搜索

    func searchBarSearchButtonClicked(_ searchBar: UISearchBar) {

        

    }

    //已经进入编辑状态时调用的方法

    func searchBarTextDidBeginEditing(_ searchBar: UISearchBar) {

        

    }

    //将要结束时调用的方法

    func searchBarTextDidEndEditing(_ searchBar: UISearchBar) {

        

    }

    override func didReceiveMemoryWarning() {

        super.didReceiveMemoryWarning()

        // Dispose of any resources that can be recreated.

    

    }



}


猜你喜欢

转载自blog.csdn.net/catherine981234/article/details/77670786