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

时间:2015-03-02 14:09:28

标签: ios objective-c uitableview uisearchbar

我已将搜索栏添加到UITableView(tblViewGallery)。我添加了UITableView(tblViewGallery)的searchBar tableHeader。添加了搜索栏,工作正常UITableView(tblViewGallery)。但现在我想将searchBar显示为“Game Center”searchBar。我想在首次显示tblViewGallery时隐藏SearchBar,当我们向下滚动tblViewGallery时,将显示搜索栏,但它将锁定UINavigationBar,如“Game Center”searchBar。我应该遵循什么方法?我试过了,

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

使用此我可以隐藏searchBar,首先显示我们的tblViewGallery,当我向下滚动tableView时,搜索栏也会出现,但它没有锁定UINavigation Bar。对于锁定,我在UIScrollView -(void)scrollViewDidScroll:(UIScrollView *)scrollView

的委托方法中尝试了以下代码
CGRect rect = searchBar.frame;
rect.origin.y = MIN(0, scrollView.contentOffset.y);
searchBar.frame = rect;

1 个答案:

答案 0 :(得分:1)

如果我认为您尝试使用todo是正确的,则您希望搜索栏在用户向下滚动时滚出视图,并允许表格标题锁定到导航栏的顶部。

根据我的意思,首先将UITableView样式设置为UITableViewStyleGrouped。然后覆盖viewForHeaderInSection方法以为每个组提供标头。标题将是一个带有一些文本的简单UIView。

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

这会在你UITabeView的顶部给你一个UISearchBar,它没有标题,当用户向下滚动时它将滚出视图,其他标题将锁定到{{滚动时,这是默认行为。

这有帮助吗?