2010-06-14 86 views
0

我有一个带有索引滚动条的桌面视图,右侧显示字母A-Z,顶部有一个放大镜图标({search})。滚动条中的所有字母都将用户带到除了放大镜之外的相应部分,该部分将用户设置为“A”,并将searchBar隐藏起来。如何在用户点击sectionIndex滚动条顶部的搜索图标时出现Tableview中的搜索栏?

我只是想让它到达桌面的顶部,这样当用户点击滚动条中的放大镜图标时,就会显示搜索栏。我一直在寻找各种方法来做到这一点,但我无法找到将searchBar添加到第一个tableCell和它自己的部分的任何方式,除非是唯一的方法,否则我不希望这样做。

非常感谢!

回答

0

试试这个post - 我刚才想要同样的东西,希望它有帮助。

总之,我将搜索栏放在表格视图的标题视图中,然后调整它的contentOffset以在触摸{search}时显示它。

其实我也能够模仿苹果应用程序的行为,所以当每次搜索栏被重新隐藏时,如果需要的话,我会用UISearchDisplayController来处理UISearcBar。下面是我放在我的UITableViewController类中的代码位数:

- (void)viewWillAppear:(BOOL)animated 
{ 
    [super viewWillAppear:animated]; 

    if (self.tableView.contentOffset.y < 
     self.searchDisplayController.searchBar.frame.size.height) 
    { 
     self.tableView.contentOffset = 
     CGPointMake(0, self.searchDisplayController.searchBar.frame.size.height); 
    } 
} 
+0

感谢您的上一篇文章的链接。我想知道什么“让搜索的sectionIndexSection -1”意味着在你的答案? – Brad 2010-06-16 18:54:23

+0

我现在不在我的代码附近,但是如果你的部分索引是{search}加A到Z,你可以使一个NSArray的索引返回,所以A是0,B是1等等。数组-1(如果搜索顶部),然后检查UiTableView委托方法的部分索引。 – petert 2010-06-16 20:05:22

相关问题