我UISearchBar
在我的代码中使用。我已经在头文件中导入了它的委托,并在实现文件中实现了一些委托方法。
当我们点击 时UISearchBar
,会出现一个用于输入文本的键盘。键盘的返回键是“搜索”按钮。它将默认禁用。当我们输入一个字符时,它将被启用。(我对吗?)
问题来了。我想UISearchBar
在用户输入至少两个字母时启用键盘的返回键。
可能吗?如果是,我们该怎么做?
谢谢
我UISearchBar
在我的代码中使用。我已经在头文件中导入了它的委托,并在实现文件中实现了一些委托方法。
当我们点击 时UISearchBar
,会出现一个用于输入文本的键盘。键盘的返回键是“搜索”按钮。它将默认禁用。当我们输入一个字符时,它将被启用。(我对吗?)
问题来了。我想UISearchBar
在用户输入至少两个字母时启用键盘的返回键。
可能吗?如果是,我们该怎么做?
谢谢
您不能禁用搜索按钮。您可以做的是使用这些UISearchBarDelegate
方法来确定您是否应该对单击的搜索按钮采取措施,如下所示:
- (void)searchBarSearchButtonClicked:(UISearchBar *)searchBar {
if (searchBar.text.length < 2) {
return;
}
else {
// Do search stuff here
}
}
Apple 文档也非常有用,它是自定义 searchBar 行为的一个很好的起点。
简短的回答是不...
更长,更hackier和更奇特的一个在这里: 如何禁用/启用UITextField中的返回键?
您可以通过访问UISearchBar
属性来做到这一点。
let textFieldInsideSearchBar = searchBar.value(forKey: "searchField") as? UITextField
textFieldInsideSearchBar?.enablesReturnKeyAutomatically = false
通过玩enablesReturnKeyAutomatically
财产,您可以实现您的要求。
谢谢。
我就是这样做的:
if([searchbar.text length] == 0) {
[searchBar performSelector: @selector(resignFirstResponder)
withObject: nil
afterDelay: 0.1];
}
你可以试试这个
- (void)filterContentForSearchText:(NSString*)searchText scope:(NSString*)scope{
if (searchText.length>=2) {
[Main_SearchBar resignFirstResponder];
// Do your code here
}
}
这是您要查找的设置:
searchBar.enablesReturnKeyAutomatically = true
你可以试试这个
if([self.searchBar.text length] > 2)
{
[self.searchBar resignFirstResponder];
}