Навсегда скрыть UISearchDisplayController
Я пытаюсь скрыть контроллер searchDisplay, подключенный к UITableView, в контроллере табличного представления iOS 7. Я не хочу временно прокручивать это сверху; Я хочу, чтобы он был полностью отключен.
В моем коде контроллера табличного представления (который FWIW настроен на сгруппированный стиль из-за этого), я получил:
self.searchDisplayController.searchBar.hidden = YES;
Это скрывает панель поиска, но, к сожалению, приводит к появлению пустого поля в верхней части моей таблицы:
Этот пробел будет прокручиваться за пределы экрана, как и строка поиска. self.searchDisplayController.searchBar.hidden = NO;
вернет панель поиска, как и ожидалось.
Я попытался использовать предложения из этого вопроса и ответа на этот вопрос, чтобы сместить мое представление таблицы на 44 пикселя вверх, что работает, за исключением побочного эффекта, заключающегося в скрытии индикатора "тянуть-обновить" вверху таблицы.,
Я также попытался установить рамку панели поиска так, чтобы она не имела высоты, вот так:
self.searchDisplayController.searchBar.frame = CGRectMake(0, 0, self.tableView.frame.size.width, 0);
но это также не избавляет от пустого пространства в верхней части моего стола.
Как я могу скрыть панель поиска от UISearchDisplayController и фактически сделать пространство, которое она будет занимать, свернуть, как если бы его не было вообще?
1 ответ
В конце концов я справился с этим, связав поведение приложения, обойдя условия для этого странного поведения. Я не уверен, было ли когда-либо исправлено такое поведение в более поздних выпусках ОС.