UISearchController 重叠 TableView 的滚动视图。解决这个问题的最佳方法?

Posted

技术标签:

【中文标题】UISearchController 重叠 TableView 的滚动视图。解决这个问题的最佳方法?【英文标题】:UISearchController Overlapping TableView's scrollview. Best Way to Get Around This? 【发布时间】:2017-08-09 16:43:01 【问题描述】:

刚刚完成了 Ray Wenderlich 的“UI 搜索控制器”教程,在该教程中我创建了一个带有范围按钮项的搜索栏:

https://www.raywenderlich.com/113772/uisearchcontroller-tutorial

我让它工作没问题,除了范围按钮与我的 tableview 滚动视图的第一个结果重叠的小例外:Picture Here

在我的应用程序中,我使用的是嵌入在 UIViewController 中的 tableView,我猜这可能是问题所在。我在 UIViewController 上检查了“调整滚动视图插图”,但没有解决问题。甚至尝试在可能是问题的奇怪机会上取消选中它,但仍然无法正常工作。

我认为问题与在教程中将 searchBar 添加为 tableView 的 headerView 的事实有关:

 tableView.tableHeaderView = searchController.searchBar

但是,我不知道为什么它不会对看起来像 UINavigationController 的东西造成任何问题,但它会导致有人将它嵌入 UITableViewController 内的 tableView 中。

非常感谢任何帮助/解决方法建议!非常感谢您。

编辑:代码实例化搜索控制器,按照 Wenderlich 教程:

        searchController.searchBar.scopeButtonTitles = ["All","party", "hangout", "recreation", "event", "other"]
        searchController.searchBar.tintColor = UIColor().crimson()

        searchController.searchBar.delegate = self

        //MARK: Search controller initialization
        searchController.searchResultsUpdater = self
        searchController.dimsBackgroundDuringPresentation = false

【问题讨论】:

你能显示添加范围按钮的代码吗?这个范围按钮栏的高度是多少? @user1000 添加了用于将范围按钮添加到原始帖子的代码。从来没有调整范围栏的高度,看起来它大约是 20-30 的高度。 请在情节提要中显示您为 tableview 设置约束的位置 imgur.com/a/cX9QY 故事板图片。没有足够的代表点在原始帖子中发布第二张图片,imgur 它是。如果您需要我为故事板的某个部分拍摄快照,请告诉我。 【参考方案1】:

发现的答案:在tableView中实现heightForHeaderInSection方法,返回高度。答案可以在这里找到:

https://***.com/a/32996842/7389684

【讨论】:

以上是关于UISearchController 重叠 TableView 的滚动视图。解决这个问题的最佳方法?的主要内容,如果未能解决你的问题,请参考以下文章

UISearchController 的搜索栏与第一个 tableview 单元格重叠

UISearchController 与状态栏重叠并且不填充 iPhone X

UISearchController:searchBar 和 scopeBar 在第一次触摸事件上重叠

使用 UISearchController 时,iOS 13 UIBarButtonItem 不可点击和重叠 UINavigationBars

UISearchController 搜索栏在活动时与第一个单元格重叠

Objective-C - 滚动时 UISearchController 结果在 UISearchBar 上重叠