У моего приложения есть «Панель поиска» внутри UIView
, названная «Контейнер для панели поиска», которая снова находится под панелью навигации.На Interface Builder
автоматическом макете constraints
устанавливаются между строкой поиска и UIView
, как показано ниже:
Первый элемент: Панель поиска. Отношение: равно Второй элемент: Контейнердля строки поиска Верхняя точка: 0 Приоритет: 1000 Множитель: 1
Первый элемент: Панель поиска. Отношение ведущих: равно Второй элемент: Контейнер для SearchBar. Константа ведущего: 0 Приоритет: 1000Множитель: 1
Первый элемент: бар поиска. Отношение трейлинга: равно Второй элемент: контейнер для константы SearchBar.Trailing: 0 Приоритет: 1000 Множитель: 1
«Контейнер для панели поиска» (UIView) имеет ширину: 480 и высоту: 44. Авторазмер для UIView
установлен для растяжения и позиционирования относительно всех направлений.Ширина строки поиска также равна: 480.
До IOS 10 UIView
и панель поиска растягивались относительно разрешения экрана устройства.Однако для версии IOS 12.1 «Панель поиска» становится невидимой во время выполнения.После того, как я отладил и проверил размеры, ширина как UIView
, так и его дочерняя 'Панель поиска' устанавливаются в 0 во время выполнения.При удалении ограничений автоматического размещения отображается только строка поиска, но она не растягивается в соответствии с разрешением экрана.
Нужна помощь в решении этой проблемы.
РЕДАКТИРОВАТЬ: контейнер UIView находится между кнопками назад / вперед внутри панели навигации.По этой причине в контейнере UIView установлено автоматическое изменение размера вместо установки ограничений автоматического макета.Так как он находится между двумя элементами кнопки, я думаю, что его нельзя установить с ограничением в начале и в конце своего родителя.