UISearchBar 位于 UITableView 顶部,可以隐藏但靠近 UINavigationBar
我想在 UITableView 的顶部有一个 UISearchBar,当您向下滚动时它隐藏:答案很简单,我只需要将它添加到我的表视图标题上,如下所示:
UISearchBar *search = [[UISearchBar alloc] initWithFrame:CGRectMake(0, 0, 320, 45)];
self.tableView.tableHeaderView = search;
[search release];
但问题是当您向上滚动 UISearchBar 时,适合 UITableView 的顶部,而不是 UINavigationBar 的顶部。为了更清楚,我在邮件(不好)和游戏中心(好)中制作了一个屏幕。
我想要与 Game Center 中的相同。您知道他们是如何做到这一点的吗?
I would like to have a UISearchBar on the top of my UITableView which hides when you scroll down: The answer is easy, I just need to add it on my table view header like this:
UISearchBar *search = [[UISearchBar alloc] initWithFrame:CGRectMake(0, 0, 320, 45)];
self.tableView.tableHeaderView = search;
[search release];
But the problem is that when you scroll up the UISearchBar fit to the top of the UITableView, and not the top of the UINavigationBar. To be more clear I made a screen in Mail (not good) and Game Center (good).
I want the same as in Game Center. Do you have any idea how they are doing this ?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
当您滚动表格视图时,您需要自行隐藏搜索栏。因此,不要将其作为 UITableView 标头。您可以通过将其高度设置为零来隐藏它。这样,如果您的表视图设置为自动调整大小,它就会扩展。
我会尝试将 UITableView 和 UISearchBar 作为另一个视图中的对等项。 GameCenter 图像没有搜索栏作为表视图标题,而是将它们作为单独的子视图。
您也可以查看 UISearchDisplayController 但我认为它不太具有您想要的行为。
编辑:这个问题基本上是你的问题,答案中有一些代码。
You will need to hide the search bar on your own when you scroll the tableview. So, don't put it as a UITableView header. You could hide it by setting its height to zero. That way if your tableview is set to autoresize it will expand.
I would experiment with having the UITableView and the UISearchBar as peers within another view. The GameCenter image does not have the search bar as the table view header, rather it has them as separate subviews.
You could also look at UISearchDisplayController but I think it doesn't quite have the behaviour that you want.
Edit: This question is basically your question and has some code in the answers.
向下滚动时,表格视图标题将移动。这是tableview的属性。
如果你想放置一个带有导航栏的搜索栏。为什么不将搜索栏放在导航栏的正下方呢?使用搜索栏和单独的表格视图。
A tableview header will move while scrolling downwards. It is tableview's property.
If you want to place a searchBar with navigation bar. Why dont you place the search bar just below the navigation bar. Use search bar and separate tableview.
右侧的 UISearchBar 位于另一个 UIView 上,它不是 UITableView 的一部分。因此,您可以添加一个子视图来放置 UISearchBar,另一个子视图用于放置 UITableView。
The right side 's UISearchBar is on the another UIView, it is not a part of UITableView. So, you can add a child view to put the UISearchBar, and another child view is for the UITableView.
这将回答您的问题:
iPhone:默认情况下隐藏 UITableView 搜索栏
相同的概念,不同的控制器。
祝你好运。
This will answer your question :
iPhone: Hide UITableView search bar by default
same concept, different controller.
Good luck.