2013-04-13 6 views
0

Я разрабатываю приложение iOS, и я хочу добавить кнопку поиска, которая инициирует поиск в виде таблицы. При поиске в строке поиска не следует прокручивать ячейки таблицы.Как добавить панель поиска в нижней части таблицы в Xcode?

+0

У вас есть конкретный вопрос, или вы ищете кого-то, чтобы сделать всю реализацию для вас? – jszumski

+0

@jszumski Фактически я могу добавить поисковую панель и реализовать функцию поиска, но проблема в том, что она прокручивается вниз или вверх с ячейками таблицы, которые я не хочу. – loganTheFighter

ответ

2

Для того, чтобы панель поиска (или любой другой вид действительно) «прилипает» к верхней или нижней части UITableView есть два подхода:

  • Подогнать рамку таблицы, чтобы быть высота вид минус высоту вашего бара, а затем установите рамку рамки на {0, 0, CGRectGetWidth(self.tableView.frame), CGRectGetHeight(self.tableView.frame)}, которая будет позиционировать ее статически в нижней части окна. Если вы используете запас UITableViewController, вам нужно будет сделать дополнительную работу, потому что self.view и self.tableView оба указывают на один и тот же объект. Вам нужно будет установить новый UIView на self.view, который затем будет контейнером для представления таблицы и вашего окна поиска.

  • Добавить строку как подвид таблицы, а затем реализовать UIScrollViewDelegate в контроллере и использовать scrollViewDidScroll: (который срабатывает, когда пользователь прокручивает вид) для обновления позиции бара. Новое положение было бы что-то вроде:

    CGRect adjustedFrame = self.searchBarView.frame; 
    adjustedFrame.origin.y = self.tableView.contentOffset.y + CGRectGetHeight(self.tableView.frame) - CGRectGetHeight(self.searchBarView.frame); 
    self.searchBarView.frame = adjustedFrame; 
    
Смежные вопросы