UISearchController 关闭后 UITableView 标头大小发生变化

Posted

技术标签:

【中文标题】UISearchController 关闭后 UITableView 标头大小发生变化【英文标题】:UITableView header size is changed after UISearchController closes 【发布时间】:2017-07-12 19:47:00 【问题描述】:

我正在像这样初始化我的 UISearchController:

self.searchController = UISearchController(searchResultsController: self.resultsController)
self.searchController.searchBar.placeholder = "Buscar mensajes"
self.searchController.searchBar.delegate = self
self.searchController.delegate = self
self.searchController.definesPresentationContext = true

然后我像这样将它添加到 UITableView:

self.tableView.tableHeaderView = self.searchController.searchBar

这是它开始时的样子:

然后当我打开搜索栏时,它会按照我的意愿上升到导航栏:

但按下取消按钮后,表格视图布局不正确:

而且它与偏移无关,它与表格视图标题高度有关。知道如何解决吗?

【问题讨论】:

【参考方案1】:

您的设置中是否勾选了这些?

【讨论】:

不,因为我也在以编程方式创建 UITableView。你知道如何在代码中设置这些参数吗?我尝试了automaticAdjustsScrollViewInsets = true,edgesForExtendedLayout = .all,但没有任何改变。 想它的; self.edgesForExtendedLayout = UIRectEdgeNone。让我知道这是否有效。 不,那没用 :( 奇怪的是,有时它在取消点击后布局正确,但大多数时候它没有。【参考方案2】:

在 IB 中取消选中“调整 Scoll 视图插图”

看起来像这样:

【讨论】:

以上是关于UISearchController 关闭后 UITableView 标头大小发生变化的主要内容,如果未能解决你的问题,请参考以下文章

iOS UISearchController:等到 UISearchController 在取消搜索后被解除

UISearchController “手动”搜索 UI 故障

带有 UITableView ui 故障的 UISearchController

IOS UI-UISearchController

模态关闭时的 UISearchController 问题

UISearchController 在关闭时清除 UISearchBar 文本