如何在UITableView中添加搜索栏喜欢iOS中的游戏中心?

问题描述:

我已经将搜索栏添加到UITableView(tblViewGallery)。我已经添加了searchBar tableHeader的UITableView(tblViewGallery)。因此添加搜索栏工作正常UITableView(tblViewGallery)。但是现在我想让searchBar像“Game Center”searchBar一样显示。我想在第一次显示tblViewGallery时隐藏SearchBar,当我们向下滚动tblViewGallery时,搜索栏会显示,但它会锁定UINavigationBar,如“Game Center”searchBar。我应该遵循什么方法?我试图用这个作为我,如何在UITableView中添加搜索栏喜欢iOS中的游戏中心?

[tblViewGallery scrollToRowAtIndexPath:[NSIndexPath indexPathForRow:0 inSection:0] atScrollPosition:UITableViewScrollPositionTop animated:NO]; 

,当首先显示我们tblViewGallery中号能够隐藏搜索栏,当我滚动的tableView也出现向下的搜索栏,但它不是锁定UINavigation酒吧。对于锁定我曾尝试下面的代码中的UIScrollView的委托方法-(void)scrollViewDidScroll:(UIScrollView *)scrollView

CGRect rect = searchBar.frame; 
rect.origin.y = MIN(0, scrollView.contentOffset.y); 
searchBar.frame = rect; 
+2

你有什么确切的问题? “它没有锁定UINavigationBar”是什么意思? – Stonz2 2015-03-02 14:27:00

+0

是的,它没有锁定像Game Center那样的UINavigationBar,当我放置任何字母或字符进行搜索时,SearchBar也会自动隐藏。 – adi012 2015-03-02 14:34:01

+0

@ Stonz2,如何锁定导航栏下方的搜索栏..... – adi012 2015-03-02 18:33:29

如果我想你想的待办事项是正确的,你想搜索栏滚动出来的观点作为用户向下滚动,并且允许表格标题锁定到导航栏的顶部。

基于此,我会做的是首先将您的UITableView风格设置为。然后重写viewForHeaderInSection方法为每个组提供标题。标题将是一个带有一些文本的简单UIView。

然后,对于第一行而不是加载正常单元格,您可以在其中加载一个UITableViewCell子类,其中包含UISearchBar。然后在'viewForHeaderInSection'中为第一组返回一个高度为零的UIView子类。

这将使你在你的UITabeView顶部一个UISearchBar,它不会有一个头,就滚出视图为用户向下滚动,并且其他标题将锁定到UINavigationBar时滚动作为是默认行为。

这有帮助吗?