我怎样才能以编程方式在UISearchBar中强制search?

我如何强制UISearchBar自动开始新的search(如按searchbutton)? 有没有简单的方法来实现这一点?

我发现我需要将UISearchViewController设置为活动状态,然后以编程方式更改search字段的值,以使UISearchViewController自动执行search:

// Need to set the searchDisplayController to active to // make the changes in search text trigger a search. self.searchDisplayController.active = YES; self.searchDisplayController.searchBar.text = @"New search string"; 

只要有searchinput字段成为第一响应者:

 [self.searchInputField becomeFirstResponder]; 

是的,你只需要在你的UISearchbarDelegate上隐式调用searchBarSearchButtonClicked: 查看官方文档 ,了解有关此代理的更多信息。

似乎愚蠢,但工作,所以它不愚蠢;)

 NSString * forceReload = self.searchDisplayController.searchBar.text; self.searchDisplayController.searchBar.text = forceReload; 

你可以强制你的searchBar,

目标C:

 [self searchBar:yourSearchBarName textDidChange: yourSearchingString]; 

Swift 3.0:

 self.searchBar(self.yourSearchBarName, textDidChange: yourSearchingString) 

这会触发你的search条。