Странное поведение UISearchDisplayController для представления смещения в iOS 7 при встраивании в панель навигации

Я создаю приложение только для iOS 7. Я пытаюсь установить UISearchDisplayController в панель навигации.

Я настроил это так: в раскадровке я добавилПанель поиска и контроллер отображения поиска " на мой взгляд контроллерs, и установите его на (0,0) относительно верхнего макета. Я установил ограничения для закрепления слева, сверху и справа. (Я играл с ограничениями, я удалил их полностью, это неНе имеет значения) Кроме того, у меня есть табличное представление. Когда я добавил панель поиска к представлению в раскадровке, она автоматически настроила выходы для searchDisplayController и searchBar делегата. В коде у меня естьself.searchDisplayController.displaysSearchBarInNavigationBar = YES; У меня две проблемы:

1) Без каких-либо кнопок, отображаемых для панели поиска (Построитель интерфейса -> выберите панель поиска -> Параметры: ничего не выбрано) строка поиска находится в середине экрана:

Если я нажимаю на панель навигации, она начинает редактировать панель поиска:

Также обратите внимание, что темное наложение смещено относительно панели навигации. Мне кажется, что пространство имеет ту же высоту, что и панель навигации. Как будто это сильно сместилось вниз. Кроме того, когда отображаются результаты поиска, верхняя часть представления контента смещается на ту же величину (больше изображений), что подводит меня ко второй проблеме.

2) Некоторое время я возился с этим и решил проверить, показывать ли кнопку отмены. Теперь у меня есть панель поиска, правильно вставленная в панель навигации, но оверлей все еще смещен вниз:

Опять же, когда появляется представление таблицы результатов поиска, оно смещается вниз на ту же величину (обратите внимание на полосу прокрутки справа):

Еще более странно, я установил границу на контроллере отображения поискаслой таблицы, и он выглядит правильно:

Я никогда не использовал UISearchDisplayController раньше, и я не знаю, как его настроить, но функционально он работает нормально. Я читал некоторые другие подобные посты, но единственный совет - взломать его, отрегулировав кадры и установив ручные смещения. Я'Я предпочитаю знать, что является причиной этого, это ошибка? Что-то яя делаю неправильно? Если оно'Это ошибка, я могу ждать исправления. Кажется, что это такая простая вещь, что тысяча человек должна была сделать без проблем, поэтому я чувствую, что яя не правильно его настраиваю. Спасибо за ваш вклад.

Ответы на вопрос(9)

Ваш ответ на вопрос