2013-03-14 3 views
1

Я использую два SearchBar поверх друг друга в моем макете так:Изменение размера UITableView из UISearchDisplayController

double search bar

Обе панели поиска имеют UISearchDisplayController, которые отображают таблицу предложений.

Моя проблема, контроллер дисплея в верхней строке поиска в черпает UITable над нижним SearchBar так:

draw over bottom bar

Я попытался переместить нижнюю таблицу вниз в uisearchdisplaydelegate так:

- (void)searchDisplayController:(UISearchDisplayController *)controller  
didLoadSearchResultsTableView:(UITableView *)tableView 
{ 
float yOffset = 50.0f; 
tableView.frame = CGRectMake(tableView.frame.origin.x,tableView.frame.origin.y + yOffset,tableView.frame.size.width, tableView.frame.size.height);         
} 

Но даже если метод вызван в нужное время, он, похоже, ничего не делает.

Id в основном, как столешница Searchbar предложения будет находиться в том же положении, что и внушение таблицы нижней панели поиска

Я использую раскадровку и autolayout последней Xcode

ответ

0

В прошивке 7, вы можете просто задайте y-начало yOffset. Если распечатать рамки представления таблицы в

- (Недействительными) searchDisplayController: (UISearchDisplayController *) контроллер didShowSearchResultsTableView: (UITableView *) Tableview

вы заметите, что origin.y находится в состоянии 0, 0. Однако в iOS 6 все по-другому. Если вы планируете поддерживать обе версии, вам нужна проверка. Попробуйте установить origin.y в указанном выше методе делегата.