我想知道如何防止 UISearchbar 在每个字符输入后过滤一组项目?而是在用户输入搜索词后仅在搜索按钮或按下回车后进行一次搜索。
我只是问,因为我已经实现了 UISearchBar,不幸的是,我正在使用一些非常大的数据集,这些数据集确实减慢了速度。
这是我创建的 UISearchBar
filterSearchBar = [[UISearchBar alloc] initWithFrame:CGRectMake(10.0, 170.0, 280.0, 40.0)];
filterSearchBar.autocapitalizationType = UITextAutocapitalizationTypeAllCharacters;
UITextField *textField = [filterSearchBar valueForKey:@"_searchField"];
textField.clearButtonMode = UITextFieldViewModeNever;
filterSearchBar.delegate = self;
self.filterSearchBar.autocapitalizationType = UITextAutocapitalizationTypeAllCharacters;
if (([doorSearchString length] != 0) && (doorSearchString != nil)) {
filterSearchBar.text = doorSearchString;
}
filterSearchBar.placeholder = @"Door filter";
[allBackGroundView addSubview:filterSearchBar];
最佳答案
使用searchBarSearchButtonClicked:
UISearchBar
的委托(delegate)方法如果您只需要在按下搜索按钮后进行搜索。
- (void)searchBarSearchButtonClicked:(UISearchBar *)searchBar {
//Do search logic here
}
不要忘记设置
delegate
的 UISearchBar
.如果您不需要在每个字符输入后过滤项目,请删除 - (void)searchBar:(UISearchBar *)searchBar textDidChange:(NSString *)searchText
委托(delegate)方法。希望这可以帮助
关于ios - 按下回车后的 UISearchbar 过滤器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22956342/