Можно ли установить авторазмер в интерфейсе конструктора для вращающегося изображения BG? - PullRequest
1 голос
/ 30 сентября 2011

Я проектирую пользовательский интерфейс с IB с большим количеством изображений, и ориентация дизайна по умолчанию - альбомная.Однако мне нужно сжать весь вид, чтобы уместить его в портретном режиме, уменьшив максимально допустимую ширину и сохранив такое же соотношение сторон для вида с его внутренними изображениями.Лучший способ представить, чего я хочу достичь - это представить пейзажную фотографию.Когда вы поворачиваете изображение в портретное положение, оно сжимается до максимальной ширины, центрируется по вертикали, но сохраняет такое же соотношение сторон.В моем случае я хочу уменьшить представление со всеми его внутренними подпредставлениями.

Во-первых, я вручную изменяю размер рамки представления до требуемого размера в viewWillApppear, а также вызываю setAutoresizesSubviews для изменения размера всех его внутренних представлений.Эти внутренние виды - изображения имеют «Aspect Fit» и все опции автоматического изменения размера (чтобы заполнить доступную область в измененном виде).Однако из контейнера выскакивают внутренние виды: некоторые изображения перепрыгивают наверх, текстовое представление расширяется до полной высоты портрета.Можно ли установить какое-то «представление-контейнер», а затем сказать - «изменение размера представления до размера X и изменение размера всего вашего, но только внутри области просмотра-контейнера?

1 Ответ

2 голосов
/ 30 сентября 2011

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

Затем вы должны указать этому контейнеру правильно вести себя с его подпредставлениями.Так что проверьте в IB, что «Autoresize subviews» и режим контента, если необходимо, (= «Mode») имеют желаемую настройку.На этом этапе вы проверяете в устройстве или симуляторе, правильно ли вращается и поднимается ваш вид.

Затем вы должны позаботиться о содержимом этого представления, которое является UIImageView.Это должно быть по центру, поэтому удалите структуры, и авторазмер, так что установите пружины.Затем установите режим содержимого в Aspect Fit или Aspect Fill по вашему желанию.

Эти настройки должны работать.Для более сложных вещей вы должны программно установить вещи.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...