UISearchController ResultsController出现在导航栏上
问题描述:
我有一个UISearchController
它有自己的自定义结果控制器,而不是过滤立即视图中的内容。UISearchController ResultsController出现在导航栏上
UISearchBar
正确显示在导航栏中,但是当我开始在搜索框中输入字符时,我的自定义控制器出现并填充整个屏幕,覆盖导航栏和窗口, 。
这用于工作,但我最近改变了我的故事版以UINavigationController
为入口点,导致UITabBarController
,然后它有标签控制器。
UITabBarController
现在具有搜索的所有逻辑,因此它可以通过我实施的协议将对搜索结果采取的操作路由到适当的选项卡。
以下是我的故事板,请注意,自定义搜索结果控制器是位于UITabBarController
下方的项目,右上角的未附加项目通过库使用,并在内部连接到顶部选项卡的控制器。
我开始怀疑这个特定的配置是否有效?我可以在UITabBarController
前面输入UINavigationController
吗?
我想在一个位置(UITabBarController)中拥有所有共享搜索代码的持久搜索栏,而不是在每个选项卡前放置一个UINavigationController?
如果这应该工作,有没有任何想法为什么自定义搜索结果控制器现在覆盖整个屏幕,而不是在导航栏下?
答
原来,问题是我需要调用
definesPresentationContext = true
在一个已经被显示的视图控制器(标签1)
当我在移动搜索代码UITabBarController
,我用它移动了它。