UISearchDisplayController скрывает панель навигации

Я вижу странную ситуацию. Я поместил панель поиска в панель навигации и связал UISearchDisplayController с панелью поиска. Теперь контроллер отображения поиска стремится скрыть панель навигации, когда пользователь нажимает на панель поиска (следовательно, скрывает и панель поиска). Чтобы противостоять этому, я создал подкласс UISearchDisplayController и реализовал следующий код:

- (void)setActive:(BOOL)visible animated:(BOOL)animated
{
  [super setActive: visible animated: animated];
  [self.searchContentsController.navigationController setNavigationBarHidden: NO animated: NO];
}

Теперь это исправило исходную проблему. Я могу искать и переходить на другие контроллеры.

Однако предположим, что я выполняю поиск на контроллере представления A, а затем нажимаю на результат поиска, который затем помещает контроллер представления B в стек навигации. Теперь, если я открою контроллер представления B и вернусь обратно к A, моя навигационная панель исчезнет. Похоже, что контроллер отображения поиска активен и поэтому скрывает панель навигации.

Если я сделаю контроллер дисплея поиска неактивным, а затем нажму кнопку просмотра контроллера B и затем выскочу на него, появится панель навигации.

Итак, есть ли способ, чтобы мой контроллер отображения поиска мог оставаться активным, и панель навигации не исчезала, когда я выскакивал контроллер представления B из стека навигации?

И я ориентируюсь на iOS6

(Это очень длинный код, поэтому не уверен, что я должен публиковать здесь).

Ответы на вопрос(4)

Ваш ответ на вопрос