Изменение размера UITableview для UISearchDisplayController

Я использую две панели поиска друг над другом в своем макете, например:

двойная панель поиска

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

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

рисовать поверх нижней панели

Я попытался переместить нижнюю таблицу вниз в 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 в основном хотел бы, чтобы верхняя таблица предложений панели поиска располагалась в той же позиции, что и нижняя таблица предложений панели поиска.

Я использую раскадровки и автозапуск последних версий xcode.


person Bjergsen    schedule 14.03.2013    source источник


Ответы (1)


В iOS 7 вы можете просто установить начало координат y на yOffset. Если вы распечатаете рамку табличного представления в

-(void)searchDisplayController:(UISearchDisplayController *)controller didShowSearchResultsTableView:(UITableView *)tableView

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

person The Guardian    schedule 25.09.2013