UISearchController 的 searchBar 在 iPad 的拆分视图中未正确显示

searchBar from UISearchController not showing correctly on split view on iPad

今天我将我的代码从 UISearchDisplayController(在 iOS 8 中弃用)迁移到 UISearchController,现在搜索栏并不总是正确显示。

我正在使用始终显示主列的 UISplitViewController(在 iPad/iPhone6+ 纵向上也是如此)。

与用户必须从左向右滑动才能看到该列相比,我更喜欢这种视觉效果。

如果打开应用程序并点击主列中的项目,详细信息列将加载并且搜索栏会适当调整大小。

但是,如果我打开应用程序并在搜索栏中输入内容,然后点击其中一个结果,详细信息也会正确加载,但搜索栏不会调整大小。

附录:我刚刚发现 iPhone 上的事情也不完美:它在 detailView 上显示了搜索栏:

(无论是否显示导航控制器)

grrr 我很想回到旧的 UISearchDisplayController

经过多次谷歌搜索后发现,在我的 TableViewController 的 ViewDidLoad 中添加这行代码解决了问题:

self.definesPresentationContext = true