Как активировать UISearchDisplayController с предварительно установленным сроком? - PullRequest
5 голосов
/ 07 марта 2012

Я использую UISearchViewController немного нетрадиционным способом.

Мой UISearchBar изначально скрыт.Когда пользователь нажимает кнопку, я показываю панель UISearch и активирую UISearchViewController.Я также установил текст панели поиска и приказал панели поиска стать первым респондентом.

Проблема в том, что серое наложение, созданное UISearchDisplayController, остается видимым.Он не исчезнет, ​​если текст, который я задал, не будет очищен, и пользователь не начнет печатать заново.

    self.searchDisplayController.searchBar.hidden = NO;
    self.searchDisplayController.searchBar.text = @"term";
    [self.searchDisplayController.searchBar becomeFirstResponder]; // this actually appears to activate everything
    [self.searchDisplayController setActive: YES animated: YES]; // this activates but does not set the searchbar to 1st responder...

Почему UISearchDisplayController продолжает показывать серое наложение и как его очистить?

1 Ответ

12 голосов
/ 08 марта 2012

изменение порядка звонков, казалось, добилось цели. не знаю почему.

[self.searchDisplayController setActive: YES animated: YES]; 
 self.searchDisplayController.searchBar.hidden = NO;
self.searchDisplayController.searchBar.text = @"term";
[self.searchDisplayController.searchBar becomeFirstResponder]; 
...