我有一个在UINavigationController中有一个UITabBarController的应用程序. (UITabBarController不是故事板的“初始视图控制器”.)
在最初的UIViewController中,我有一个UISearchController,它允许从远程源搜索内容.
这个工作正常,直到我添加了UITabBarController.现在,搜索栏在默认状态下显示正常,但是一旦您开始在其中键入内容,它就会向上推过视图的上边缘.
我意识到这可能与automaticAdjustsScrollViewInsets,extendedLayoutIncludesOpaqueBars和/或edgesForExtendedLayout有很大关系,但在我所有的调整中,我一直无法找到魔法组合来让UISearchController不会超越视图的顶部.
有关如何使其工作的任何想法?
从this example project看这些屏幕抓图:
初步观点:
搜索文本框成为第一响应者:
输入一个单词并点击后输入:
最佳答案 我也遇到了这个问题,这里有一个解决方案:在UITabBarController上设置definesPresentationContext = true而不是表视图控制器似乎解决了它.
显然,您必须一直向上直到容器层次结构中的导航控制器.如果你问我,这不是世界上最明显的事情.