我希望UITearchBar位于我的UITableView顶部,当你向下滚动时隐藏:答案很简单,我只需将它添加到我的表视图标题中,如下所示:< / p>
UISearchBar *search = [[UISearchBar alloc] initWithFrame:CGRectMake(0, 0, 320, 45)];
self.tableView.tableHeaderView = search;
[search release];
但问题是当你向上滚动UISearchBar 适合UITableView的顶部,而不是UINavigationBar的顶部。为了更清楚,我在Mail(不好)和Game Center(好)中制作了一个屏幕。
我想和Game Center一样。你知道他们是怎么做的吗?
答案 0 :(得分:4)
滚动桌面视图时,您需要自己隐藏搜索栏。所以,不要把它作为UITableView标头。您可以通过将其高度设置为零来隐藏它。这样,如果你的tableview设置为autoresize,它将会扩展。
我会尝试将UITableView和UISearchBar作为另一个视图中的对等体。 GameCenter图像没有搜索栏作为表格视图标题,而是将它们作为单独的子视图。
您还可以查看UISearchDisplayController,但我认为它不具备您想要的行为。
编辑:This question基本上是您的问题,答案中有一些代码。
答案 1 :(得分:1)
在向下滚动时,tableview标题会移动。这是tableview的财产。 如果要放置带导航栏的searchBar。为什么不将搜索栏放在导航栏的下方。使用搜索栏和单独的tableview。
答案 2 :(得分:0)
右侧的UISearchBar位于另一个UIView上,它不是UITableView的一部分。因此,您可以添加子视图来放置UISearchBar,另一个子视图用于UITableView。
答案 3 :(得分:0)