1

У меня есть UISearchController, у которого есть собственный настраиваемый контроллер результатов, а не фильтрация содержимого в непосредственном виде.UISearchController ResultsController, появляющийся на панели навигации

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

Это работало, но я недавно сменил свою раскадровку на UINavigationController как точку входа, ведущую в UITabBarController, в которой затем были встроены контроллеры с вкладками.

UITabBarController теперь имеет всю логику поиска, поэтому он может маршрутизировать действия, выполненные по результатам поиска, на соответствующую вкладку с помощью протокола, который я реализовал.

Ниже приведена раскадровка, обратите внимание, что контроллер результатов пользовательского поиска - это элемент, расположенный ниже UITabBarController, а непривязанный элемент в верхнем правом углу, используется через библиотеку и прикрепляется к контроллеру верхней вкладки внутри.

Я начинаю задаваться вопросом, работает ли эта конкретная конфигурация? Могу ли я иметь UINavigationController перед номером UITabBarController?

Я хотел иметь постоянную панель поиска вверх со всем общим кодом поиска в одном месте (UITabBarController), а не размещать UINavigationController перед каждой вкладкой?

Если это сработает, есть ли идеи, почему пользовательский контроллер результатов поиска теперь покрывает весь экран, а не находится под панелью навигации?

enter image description here

ответ

0

Оказывается, этот вопрос мне нужно позвонить

definesPresentationContext = true 

В контроллере представления, который уже отображается (вкладка 1)

Когда я переехал код поиска к UITabBarController, я переместил это с ним.

Смежные вопросы