我想知道如何阻止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];
答案 0 :(得分:3)
如果您只需在按搜索按钮后进行搜索,请使用searchBarSearchButtonClicked:
的{{1}}委托方法。
UISearchBar
不要忘记设置- (void)searchBarSearchButtonClicked:(UISearchBar *)searchBar {
//Do search logic here
}
的{{1}}。如果您不需要在每个字符条目后过滤项目,请删除delegate
委托方法。
希望这有帮助