Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/36.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone UISearchbar键盘搜索按钮操作_Iphone_Objective C_Uisearchbar_Keyboard Events - Fatal编程技术网

Iphone UISearchbar键盘搜索按钮操作

Iphone UISearchbar键盘搜索按钮操作,iphone,objective-c,uisearchbar,keyboard-events,Iphone,Objective C,Uisearchbar,Keyboard Events,当我在键盘显示的UISearchBar上输入文本时,我正在使用UISearchBar。此时,键盘返回键为“搜索”。 我想在按下键盘搜索按钮时实现事件。 我如何实施该行动? 在UITextField上 -(BOOL)textFieldShouldReturn:(UITextField *)textField; 但是在ui搜索栏上,它没有返回操作 谢谢您的帮助。文本字段应返回方法是一个textField委托方法,而不是您要找的方法。您需要的是一个名为searchButtonClicked的UISe

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

-(BOOL)textFieldShouldReturn:(UITextField *)textField;
但是在
ui搜索栏上,它没有返回操作


谢谢您的帮助。

文本字段应返回
方法是一个
textField
委托方法,而不是您要找的方法。您需要的是一个名为
searchButtonClicked
UISearchBarDelegate
方法。

在.h中添加UISearchBarDelegate

还将搜索栏的对象委托设置为self。

将此添加到UISearchBarDelegate的方法中:

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

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

在Swift 3中:

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

我在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()
    }
}
可能重复的