我已将搜索栏添加到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;
答案 0 :(得分:1)
如果我认为您尝试使用todo是正确的,则您希望搜索栏在用户向下滚动时滚出视图,并允许表格标题锁定到导航栏的顶部。
根据我的意思,首先将UITableView
样式设置为UITableViewStyleGrouped
。然后覆盖viewForHeaderInSection
方法以为每个组提供标头。标题将是一个带有一些文本的简单UIView。
然后,对于第一行而不是加载正常单元格,您需要加载一个UITableViewCell
子类,其中包含UISearchBar
。然后在你的viewForHeaderInSection'返回第一组的高度为零的UIView
子类。
这会在你UITabeView
的顶部给你一个UISearchBar,它没有标题,当用户向下滚动时它将滚出视图,其他标题将锁定到{{滚动时,这是默认行为。
这有帮助吗?