UISearchbar键盘搜索按钮动作

时间:2013-07-13 08:07:40

标签: iphone objective-c uisearchbar keyboard-events

当我在键盘显示的UISearchBar上输入文字时,我正在使用UISearchBar。那时,键盘返回键是“搜索”。 我想按下键盘搜索按钮时实现事件。 我该如何实施该行动? 在UITextField上有

-(BOOL)textFieldShouldReturn:(UITextField *)textField;

但在UISearchBar上,它没有返回操作。

感谢您的帮助。

4 个答案:

答案 0 :(得分:98)

在.h

中添加UISearchBarDelegate

还将SearchBar的对象委托设置为self。

将此添加到UISearchBarDelegate的方法:

- (void)searchBarSearchButtonClicked:(UISearchBar *)searchBar
{
    [searchBar resignFirstResponder];
    // Do the search...
}

<强>夫特

func searchBarSearchButtonClicked(_ searchBar: UISearchBar) {
    searchBar.resignFirstResponder()
}

答案 1 :(得分:17)

在Swift 3中:

 func searchBarSearchButtonClicked(_ searchBar: UISearchBar) {
        searchBar.resignFirstResponder()
 }

答案 2 :(得分:3)

textFieldShouldReturn方法是textField委托方法,而不是您要查找的方法。您需要的是名为UISearchBarDelegatehave a look heresearchButtonClicked方法。

答案 3 :(得分:0)

i在Swift 5中使用了以下代码。实现UISearchBarDelegate,然后在类键盘中编写以下代码将在单击搜索时自动隐藏

class sample: UIViewController, UISearchBarDelegate {

    let searchbar:  UISearchBar = {
        let sear = UISearchBar()
        sear.tintColor = Mycolor().lightgray1
        sear.backgroundColor = Mycolor().lightgray1
        sear.barTintColor =  Mycolor().lightgray1
        sear.placeholder = "Search Asset"
        sear.layer.cornerRadius = 30
        sear.barStyle = .default
        sear.backgroundImage = UIImage()

        sear.returnKeyType = .search

        // sear.addShadow(offset: CGSize(width: 10, height: 10), color: UIColor.darkGray, radius: 20, opacity: 5)

        return sear

    }()

    func searchBarSearchButtonClicked(_ searchBar: UISearchBar) {
        searchBar.resignFirstResponder()
    }
}