当用户点击sectionIndex滚动条顶部的搜索图标时,如何在Tableview中显示搜索栏?

时间:2010-06-14 15:49:02

标签: iphone cocoa-touch uitableview scrollbar uisearchbar

我有一个带有索引滚动条的桌面视图,右侧显示字母A-Z,顶部有一个放大镜图标({search})。滚动条中的所有字母都适当地将用户带到相应的部分,但放大镜除外,它将用户带到“A”并保持搜索栏隐藏。

我只是希望它转到表格的顶部,以便当用户点击滚动条中的放大镜图标时,searchBar会显示出来。我一直在寻找各种方法来做到这一点,但我找不到任何方式羞于将searchBar添加到第一个tableCell和它自己的部分,除非这是唯一的方法,否则我不想这样做。 / p>

非常感谢!

1 个答案:

答案 0 :(得分:0)

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

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

实际上我也能够模仿Apple应用程序的行为,所以当每次重新隐藏搜索栏时出现视图,如果需要 - 我使用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);
    }
}