当我在键盘显示UISearchBar
上输入文本时,我正在使用。UISearchBar
此时,键盘返回键为“搜索”。我想在按下键盘搜索按钮时实现事件。如何实施该操作?上面UITextField
有
-(BOOL)textFieldShouldReturn:(UITextField *)textField;
但UISearchBar
它没有返回动作。
谢谢你的帮助。
当我在键盘显示UISearchBar
上输入文本时,我正在使用。UISearchBar
此时,键盘返回键为“搜索”。我想在按下键盘搜索按钮时实现事件。如何实施该操作?上面UITextField
有
-(BOOL)textFieldShouldReturn:(UITextField *)textField;
但UISearchBar
它没有返回动作。
谢谢你的帮助。
在 .h 中添加 UISearchBarDelegate
还将 SearchBar 的对象委托设置为 self。
将此添加到 UISearchBarDelegate 的方法中:
- (void)searchBarSearchButtonClicked:(UISearchBar *)searchBar
{
[searchBar resignFirstResponder];
// Do the search...
}
迅速
func searchBarSearchButtonClicked(_ searchBar: UISearchBar) {
searchBar.resignFirstResponder()
}
在斯威夫特 3 中:
func searchBarSearchButtonClicked(_ searchBar: UISearchBar) {
searchBar.resignFirstResponder()
}
该textFieldShouldReturn
方法是一种textField
委托方法,而不是您要查找的方法。你需要的是一个UISearchBarDelegate
名为的方法searchButtonClicked
,看看这里。
我在 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()
}
}