How can I force the UISearchBar to automatically start a new search (like pressing the Search button)? Is there an easy way to achieve this?
I found that I needed to set the UISearchViewController to active before changing the value of the search field programatically to make UISearchViewController automatically perform the 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";
Swift 4
self.searchController.isActive = true
self.searchController.searchBar.text = "New search string"
seems dumb, but works, so it's not dumb ;)
NSString * forceReload = self.searchDisplayController.searchBar.text;
self.searchDisplayController.searchBar.text = forceReload;