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
(Это очень длинный код, поэтому не уверен, что я должен публиковать здесь).