Как скрыть панель поиска UISearchDisplayController - PullRequest
0 голосов
/ 01 ноября 2011

Я использую UISearchDisplayController.

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

Вот моя попытка:

- (void)displaySearchBar:(BOOL)show {
    [UIView animateWithDuration:0.15
                          delay:0
                        options:UIViewAnimationOptionBeginFromCurrentState
                     animations:^{

         [m_searchDisplayController.searchBar setHidden:!show];
         [m_categoriesView.categoriesTable setContentInset:show ?
         UIEdgeInsetsMake(0,0,0,0) : UIEdgeInsetsMake(-CGRectGetHeight(m_searchDisplayController.searchBar.frame),0,0,0)];

         if( show ) {
             [m_categoriesView.categoriesTable setContentOffset:CGPointZero];
         }

    }
    completion:NULL];
}

Все работает нормально, кроме случаев, когда пользователь поворачивает устройство. Панель поиска скрыта, но в верхней части таблицы появилось черное пространство.

У кого-то есть подсказка?

С уважением,

Martin

Ответы [ 2 ]

0 голосов
/ 20 мая 2012

почему бы вам не использовать

[self.searchDisplayController setActive:NO animated:YES];

вместо всего этого кода.это также удалит клавиатуру

0 голосов
/ 01 ноября 2011

Я собираюсь догадаться, что размер таблицы не изменяется должным образом, поэтому при удалении панели поиска вы видите любой фон родительского представления.

...