Я использую UISearchDisplayController в своем приложении.Когда пользователь выбирает элемент в результатах поиска, я деактивирую UISearchDisplayController.Деактивация контроллера удаляет текст, набранный пользователем.Я хочу держать это там.Я могу принудительно вернуть текст обратно в UISearchBar, установив его снова после деактивации контроллера.
Вот так:
NSString* searchText = self.searchDisplayController.searchBar.text;
[self.searchDisplayController setActive:NO animated:YES];
self.searchDisplayController.searchBar.text = searchText;
Что работает.
Однако, я вижу проблему синхронизации, если я не оживляю деактивированный вызов.Вызов setActive так:
NSString* searchText = self.searchDisplayController.searchBar.text;
[self.searchDisplayController setActive:NO animated:NO];
self.searchDisplayController.searchBar.text = searchText;
заставляет UISearchDisplayController снова стать активным!
Есть ли способ, которым я могу установить текст UISearchBar, не имея UISearchDisplayController, который связан с становлениемактивный?Любые другие предложения, чтобы обойти это поведение?