// 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.
}
}