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