Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/115.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 按下enter键后的UISearchbar筛选器_Ios_Objective C_Uisearchbar - Fatal编程技术网

Ios 按下enter键后的UISearchbar筛选器

Ios 按下enter键后的UISearchbar筛选器,ios,objective-c,uisearchbar,Ios,Objective C,Uisearchbar,我想知道如何防止UISearchbar在每个字符输入后过滤项目数组?相反,在用户键入搜索词后,只需在按下搜索按钮或回车键后进行一次搜索 我只是在实现了一个UISearchBar之后才问这个问题,不幸的是,我正在处理一些非常大的数据集,这些数据集确实会减慢速度 这是我创建的UISearchBar filterSearchBar = [[UISearchBar alloc] initWithFrame:CGRectMake(10.0, 170.0, 280.0, 40.0)]; fi

我想知道如何防止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的委派方法

- (void)searchBarSearchButtonClicked:(UISearchBar *)searchBar {
    //Do search logic here
}
不要忘记设置
ui搜索栏的
委托
。如果不需要在每个字符输入后过滤项目,请删除
-(void)searchBar:(UISearchBar*)searchBar textdichange:(NSString*)searchText
委托方法


希望这有助于

使用
-(无效)搜索栏搜索按钮点击:(UISearchBar*)搜索栏
委托
UISearchBar
的方法,而不是
-(无效)搜索栏:(UISearchBar*)搜索栏文本修改:(NSString*)搜索文本
。你不会相信的。。我试着使用它,但认为它不起作用。。。结果我把它加入了错误的班级。。在过去的45分钟里,我一直在想我疯了!现在测试会让你知道我是怎么做的…是的,它工作得很好。我将把问题留在这里,以防万一有人发现它有用。@Akhilrajtr我想你应该把你的评论作为一个答案。