Скрытие UITableView searchBar оставляет пустое пространство - PullRequest
1 голос
/ 10 ноября 2010

У меня есть UIViewController со стандартным UITableView и панелью поиска с добавленным делегатом поиска.Представление имеет сегментированный элемент управления на панели навигации, когда пользователь изменяет сегментированный элемент управления, я хотел бы скрыть панель поиска.

Код, который я использую:

- (void)segChange {
    if ([segmentedControl selectedSegmentIndex] == 0) {
        [[[self searchDisplayController] searchBar] setHidden:YES];

        // This does not work:
        [[[self searchDisplayController] searchResultsTableView] setContentOffset:CGPointZero animated:NO]; 

    }
    else {
        [[[self searchDisplayController] searchBar] setHidden:NO];
    }


}

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

Спасибо

Ответы [ 2 ]

6 голосов
/ 11 ноября 2010

Этот код решил проблему:

- (void)segChange {
    if ([segmentedControl selectedSegmentIndex] == 0) {
        [self.myTableView setTableHeaderView:nil];
    }
    else {
        [self.myTableView setTableHeaderView:[[self searchDisplayController] searchBar]];
    }
}
1 голос
/ 10 ноября 2010

Вместо того, чтобы скрывать сегментированный элемент управления, попробуйте установить его кадр на CGRectZero

...