4

У меня есть представление таблицы в контроллере представления RectEdgeAll и строке поиска в виде заголовка таблицы. Когда я начинаю поиск, панель поиска анимирует и оседает в нормальное положение в верхней части экрана, но табличное представление не следует за ним, оно остается в том же положении, прежде чем начинать поиск, оставляя пробел между обоими представлениями. Как создать анимацию вместе с панелью поиска?iOS 7 searchdisplaycontroller и смещение таблицы смещения несогласных смещения

Я попытался уже обновить contentOffset таблицы, когда поиск начался, но он даже не перемещался.

Пробовал в обе стороны планшет и панель поиска: код и раскадровку.

- (void)viewDidLoad 
{ 
    [super viewDidLoad]; 

    self.tableView.dataSource = self; 
    self.tableView.delegate = self; 

    //self.searchBar = [[UISearchBar alloc] initWithFrame:CGRectMake(0, 0, 320, 44)]; 
    self.searchBar.delegate = self; 
    self.searchController = [[UISearchDisplayController alloc] initWithSearchBar:self.searchBar contentsController:self]; 
    self.searchController.delegate = self; 


} 

- (void)viewWillAppear:(BOOL)animated 
{ 
    [super viewWillAppear:animated]; 
    [self.view addSubview:self.tableView]; 
    self.tableView.tableHeaderView = self.searchBar; 
} 

Перед Поиск:

enter image description here

После поиска:

enter image description here

+0

Проверьте эту страницу http://myioscodingtips.blogspot.ca/2013/10/uisearchdisplaycontroller-in-ios6-ios7.html –

ответ

0

Моя проблема решена путем добавления

[self.view addSubview:self.tableView]; self.tableView.tableHeaderView = self.searchBar;

эти две линии в функции viewDidLoad. Если я использую

[self.tableView setFrame:CGRectMake(0, 0, 320, 400)]; 

установить рамку табличных и поместить эти строки в viewdidappear функции и мой текущий ViewController имеет navigationcontroller это TableView выходит за navigationcontroller, но если я ставлю эти строки в viewdidload TableView начинается только под навигационным контроллером. не знаю, почему это происходит

Смежные вопросы