Запретить UISearchController скрывать панель навигации в IOS8

У меня есть UIViewController, встроенный в всплывающее окно. Этот контроллер имеет два подпредставления: UINavigationBar и UITableView. Я пытаюсь реализовать новый поисковый API (поскольку SearchDisplayControlled устарел в iOS8).

Когда я нажимаю в строке поиска (отображает две области), все в порядке, и панель навигации все еще видна. Но когда я начинаю печатать в строке поиска, панель навигации исчезает, заменяясь пустой областью. Я пытался добавить self.searchController.hidesNavigationBarDuringPresentation = NO; в метод updateSearchResultsForSearchController:, но безрезультатно. (обратите внимание, что контроллер viewDidLoad defines self.definesPresentationContext = YES;)

Любая идея принудительно отображать навигацию в любое время?


person Denis    schedule 14.11.2014    source источник


Ответы (2)


Я наблюдал тот же эффект - в моем случае установка свойства в viewDidLoad в моем контроллере представления заставляла панель навигации оставаться на месте:

- (void)viewDidLoad {
    ...
    self.definesPresentationContext = YES;
    ...
}

Когда я ранее устанавливал то же свойство из класса, управляющего поиском (инициализированного после того, как -viewDidLoad уже был вызван в VC), я видел такое же поведение пустой панели навигации, которое вы описываете.

person Zoë Smith    schedule 03.02.2015
comment
Не исправил это для меня - person malhal; 04.01.2016

Эта работа для меня

self.navigationController.navigationBar.translucent = true;
person Clement Joseph    schedule 05.05.2016