UISearchController 模态表示样式错误

Posted

技术标签:

【中文标题】UISearchController 模态表示样式错误【英文标题】:UISearchController Modal Presentation Style Error 【发布时间】:2019-07-06 12:48:50 【问题描述】:

我以编程方式将 UISearchController 添加到 UIStackView,它作为子视图嵌入到更大的视图中,我将其添加到 UITableViewController 中的 UITableViewCell。

我将 UITableViewController 设置为搜索栏委托、更新程序委托和搜索控制器委托。

但是,当我将 UISearchController 添加到视图时,我收到此错误:

UISearchController 仅支持模态展示样式 UIModalPresentationPopover、UIModalPresentationFormSheet 和 UIModalPresentationCustom

然后,当我玩弄它并设置此设置时:

searchController.modalPresentationStyle = .popover

然后我得到这个错误:

在弹出框或表单中显示 UISearchController,同时将搜索源重新用作搜索结果的目标是没有意义的。使用适当的搜索结果控制器初始化 UISearchController 以显示为弹出框或表单

这些错误是什么意思?

【问题讨论】:

【参考方案1】:

变化

let searchController = UISearchController()

let searchController = UISearchController(searchResultsController: myViewController)

为我解决了 myViewController 从 UIViewController 继承的问题。

【讨论】:

以上是关于UISearchController 模态表示样式错误的主要内容,如果未能解决你的问题,请参考以下文章

模态关闭时的 UISearchController 问题

iOS UISearchController 崩溃:应用程序试图在自身上呈现模态视图控制器

UISearchController - 键盘不显示

删除大标题 UINavigationBar 中 UISearchController 顶部的 1px 行

当 UISearchController 处于活动状态时,iOS 9 searchBar 从表头视图中消失

bootstrap 4 modal-backdrop 样式(特定模态)