Навсегда скрыть 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 ответ

В конце концов я справился с этим, связав поведение приложения, обойдя условия для этого странного поведения. Я не уверен, было ли когда-либо исправлено такое поведение в более поздних выпусках ОС.

Другие вопросы по тегам