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")
}




源码:https://github.com/potato512/SYSwiftLearning




  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

番薯大佬

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值