Как отобразить панель поиска в табличном представлении, когда пользователь нажимает значок поиска в верхней части полосы прокрутки indexInx? - PullRequest
0 голосов
/ 14 июня 2010

У меня есть табличное представление с индексированной полосой прокрутки с правой стороны, которая показывает буквы A-Z и значок увеличительного стекла вверху ({search}). Все буквы на полосе прокрутки соответственно ведут пользователя в соответствующий раздел, за исключением увеличительного стекла, которое переводит пользователя в «A» и сохраняет панель поиска скрытой.

Я просто хочу, чтобы он прошел в самый верх таблицы, чтобы панель поиска отображалась, когда пользователь нажимает значок увеличительного стекла на полосе прокрутки. Я все время искал способы сделать это, но я не могу найти способ не добавить searchBar в первый tableCell и его собственный раздел, который я предпочел бы не делать, если только это не единственный способ.

Большое спасибо!

1 Ответ

0 голосов
/ 16 июня 2010

Попробуйте это 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);
    }
}
...