2015-08-06 3 views
0

Я хотел бы, чтобы изменять размер компонентов приложения, когда устройство включено в левую или правую сторону - когда это держать в горизонтальном положенииКак изменить поисковую ширину программно? (Swift)

Я проверяю вращение устройства в willRotateToInterfaceOrientation события, а затем я должен изменить ширину searchBar и tableView. Как я должен это делать? Я попробовал несколько вариантов с компонентами .frame и с CGRect, ничего не работает. enter image description here

Update: это может быть сделано без какого-либо кода. Просмотрите мой ответ ниже

+0

Вы пытаетесь сохранить постоянное пространство по обе стороны панели поиска? Автоматическая компоновка, вероятно, будет лучше всего использовать здесь. Дополнительная информация о вашей настройке будет полезна. Вы используете раскадровки? У вас есть классы размеров включены? – Stephen

+0

Я использую стандартные main.storyboard, ни один класс. Я хотел бы установить ширину width SearchBar в максимальном значении, когда устройство становится горизонтальным только – SwiftStudier

+0

Если вы используете раскадровку, включите Auto layout. Создайте ограничения на свой поискBar, привязывая его к контейнеру (или ближайшему соседу) слева, справа и сверху. При повороте устройства он должен растягиваться, чтобы заполнить пространство. – Stephen

ответ

1

Если вы разместили свои элементы в Interface Builder, вы можете просто добавить выход к ограничению ширины вашей панели поиска. Затем измените свойство constant ограничения, чтобы изменить ширину полосы.

+0

Не могли бы вы помочь с примером кода вашего совета? Вы знаете, мой прозвище говорит сам за себя) – SwiftStudier

+0

Ваш ответ ниже - это правильно метод, который я пытался объяснить. Там мало \ нет кода, так как все делается в раскадровке. – Stephen

0

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

1) Выбор элементов должен быть изменен

2) Выберите "Ведущее пространство для SuperView"

3) Без unselection, выберите "Добавить отсутствующий сдерживающих"

enter image description here

Вот и все. Теперь они будут правильно изменены.