如何通过代码隐藏 UISearchBar?

Posted

技术标签:

【中文标题】如何通过代码隐藏 UISearchBar?【英文标题】:How to hide a UISearchBar by code? 【发布时间】:2015-09-10 15:29:22 【问题描述】:

我的 TableView 顶部有一个 UISearchBar。 tableView 在不同时间显示多个数据。用户可以选择TableView中显示的数据。

通常用户可以搜索他的数据,但在一种情况下,数据是一个概览(一种图表或事实和统计数据),所以在这个视图中我想隐藏搜索栏。

我试图用以下方式隐藏它:

  searchBar.hidden = true 

但在这种情况下,我得到一个白色视图而不是 searchBar(背景视图?)。

所以为了简单起见,我想知道如何避免用户搜索某些内容,我希望通过隐藏 searchBar 来完成它。

【问题讨论】:

【参考方案1】:

这是一个想法,在加载视图时将UITableView 偏移搜索栏高度的高度,当您需要显示它时,将UITableView 向下移动。

当你加载视图时

self.tableView.contentOffset = CGPointMake(0, -40 - self.tableView.contentInset.top);

那么当你想显示搜索栏时

self.tableView.contentOffset = CGPointMake(0, 0 - self.tableView.contentInset.top);

根据需要调整高度值

【讨论】:

首先您必须将 -40 更改为 +45 才能使其正常工作。结果看起来不错,但如果你开始向上滚动白色视图(或搜索栏)又回来了

以上是关于如何通过代码隐藏 UISearchBar?的主要内容,如果未能解决你的问题,请参考以下文章

如何从情节提要中隐藏 UISearchbar

UISearchBar的外观自定义,打造你的搜索框

UISearchBar的外观自定义,打造你的搜索框

UISearchController 结果 TableViewController 在 UISearchBar 为空时不清除结果

UINavigationbar 将在 UISearchbar 结束搜索后显示,我如何隐藏导航栏

如何在 UINavigation 中显示 UISearchBar?