UITearchBar位于UITableView的顶部,它可以隐藏但保持接近UINavigationBar

Lud*_*dry 13 iphone uitableview uiscrollview uisearchbar ios

我想在我的UITableView顶部有一个UISearchBar,当你向下滚动时它会隐藏:答案很简单,我只需要将它添加到我的表视图头上,如下所示:

UISearchBar *search = [[UISearchBar alloc] initWithFrame:CGRectMake(0, 0, 320, 45)];
self.tableView.tableHeaderView = search;
[search release];
Run Code Online (Sandbox Code Playgroud)

但问题是当你向上滚动UISearchBar 适合 UITableView的顶部,而不是UINavigationBar的顶部.为了更清楚,我在Mail(不好)和Game Center(好)中制作了一个屏幕.

在此输入图像描述

我想和Game Center一样.你知道他们是怎么做的吗?

Wal*_*ter 4

当您滚动表格视图时,您需要自行隐藏搜索栏。因此,不要将其作为 UITableView 标头。您可以通过将其高度设置为零来隐藏它。这样,如果您的表视图设置为自动调整大小,它就会扩展。

我会尝试将 UITableView 和 UISearchBar 作为另一个视图中的对等项。GameCenter 图像没有搜索栏作为表视图标题,而是将它们作为单独的子视图。

您也可以查看 UISearchDisplayController 但我认为它不太具有您想要的行为。

编辑:这个问题基本上是你的问题,答案中有一些代码。