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

Posted

技术标签:

【中文标题】UISearchController 中的 searchBar 在 iPad 上的拆分视图上未正确显示【英文标题】:searchBar from UISearchController not showing correctly on split view on iPad 【发布时间】:2015-08-23 21:24:04 【问题描述】:

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

我使用的 UISplitViewController 总是显示主列(在 iPad/iPhone6+ 上也是如此)。

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

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

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

附录:我刚刚发现 iPhone 上的东西也不完美:它在 detailView 上显示了 searchBar:

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

grrr 我很想回到旧的 UISearchDisplayController

【问题讨论】:

【参考方案1】:

经过大量谷歌搜索后发现,在我的 TableViewController 的 ViewDidLoad 中添加这行代码可以解决问题:

self.definesPresentationContext = true

【讨论】:

以上是关于UISearchController 中的 searchBar 在 iPad 上的拆分视图上未正确显示的主要内容,如果未能解决你的问题,请参考以下文章

UISearchController 中的搜索图标为截止

UIViewController 中的 UISearchController

iOS 11 上 UITableView 中的 UISearchController 问题

UISearchController 中的 UISearchBar 不会消失

带有 UISearchController 的 resultController 中的空白结果

搜索结果为空时 UITableView 中的 UISearchController 崩溃