Tag: uisearchbardelegate

searchBarSearchButtonClicked不能与shouldChangeTextInRange一起使用

我有以下UISearchBar委托方法,它自己的作品(它是独立时调用)。 -(void)searchBarSearchButtonClicked:(UISearchBar *)searchBar{ [self downloadFruits:searchBar.text]; [self.view endEditing:YES]; } 当我添加另一个UISearchBar委托方法的前一个停止工作(它不再被调用)。 #define CHARACTERS @"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz _-." #define CHARACTERS_NUMBERS [CHARACTERS stringByAppendingString:@"1234567890"] -(BOOL)searchBar:(UISearchBar *)searchBar shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text{ NSCharacterSet *unacceptedInput = [[NSCharacterSet characterSetWithCharactersInString:CHARACTERS_NUMBERS] invertedSet]; // If array has more than one entry, there was at least one unacceptable character if ([[text componentsSeparatedByCharactersInSet:unacceptedInput] count] > 1) return NO; else return YES; } […]

filterContentForSearchText:scope:方法从哪里来?

最近,我注意到filterContentForSearchText:scope:出现在多个关于如何实现search栏的教程中。 但是,我UISearchDisplayDelegate and UISearchBarDelegate的引用。 我发现这个filterContentForSearchText:scope:既不是一个必需的也不是一个可选的方法。 我想知道如果filterContentForSearchText:scope:只是一个传统的方法名称来过滤search结果?

检测用户停止/暂停在Swift中input

我已经挖出了stackoverflow,并find了我转换为Swift的解决scheme,似乎并没有工作,select器仍在执行。 func searchBar(searchBar: UISearchBar, textDidChange searchText: String) { self.filter.searchTerm = self.searchBar.text NSObject.cancelPreviousPerformRequestsWithTarget(self, selector: "getHints", object: nil) NSTimer.scheduledTimerWithTimeInterval(1, target: self, selector: "getHints", userInfo: nil, repeats: false) } 有没有更好的方法来迅速做到这一点? 谢谢!