сохранение соотношения сторон на стартовом экране

Я ожидаю, что здесь есть простой ответ. Если так, извините и спасибо.

Я пытаюсь сделать экран запуска для всех размеров iPad и iPhone. На раскадровке запуска у меня есть два UIViews, один полноразмерный для фона (backView) и один в форме квадрата (squareView). Я пытаюсь не допустить растяжения квадрата (т. е. я пытаюсь сохранить соотношение сторон 1: 1) и сделать его шириной 0,75 ширины любого устройства, на котором работает приложение. Я знаю, что внизу будет разное количество места, но как я могу предотвратить искажение квадрата при переключении устройств? Я часами изучал ограничения и возился с ними. Я ожидаю, что кто-то скажет мне, что это легко, просто сделай... что?


person Rob Smythe    schedule 29.11.2018    source источник
comment
Вы можете использовать автоматическую компоновку, чтобы ограничить вид изображения, чтобы сохранить его соотношение сторон. Поскольку ширина определена, вам просто нужно убедиться, что высота не определена, и указать ограничение отношения, которое выполняет свою работу.   -  person MadProgrammer    schedule 30.11.2018
comment
Ознакомьтесь с этим сообщением: stackoverflow.com/questions/53484198/   -  person Niv    schedule 30.11.2018
comment
Спасибо за быстрый ответ, MadProgrammer. Вы не возражаете уточнить. Я менял ограничения, равную ширину, перетаскивание CTRL между изображениями, пробовал предлагаемые ограничения, выбирал заполнение Aspect, подгонку Aspect и так далее. Я просто не попал в нужную вещь, чтобы нажать, где.   -  person Rob Smythe    schedule 30.11.2018


Ответы (1)


Во-первых, я центрировал прямоугольник по горизонтали и вертикали Центрирование

Затем я установил ширину прямоугольника на x0,75 его супервизора Настройка шириныНастройка множителя ширины

На последнем этапе я устанавливаю его соотношение 1:1 Настройка соотношения Установка множителя коэффициента

Вот и все! Окончательный результат: конечный результат

person Niv    schedule 29.11.2018
comment
Спасибо за эти подробные инструкции. Это сработало. Но вопрос: как бы вы разместили свой красный прямоугольник на 1/3 пути вниз, по центру по горизонтали, а не по центру? - person Rob Smythe; 30.11.2018
comment
Вы должны установить множитель ограничения Align Center Y равным 3:2. - person Niv; 30.11.2018
comment
Нив, спасибо. Отличные, понятные объяснения. Я узнал от вас больше, чем из дюжины источников, которые я прошерстил в Сети. - person Rob Smythe; 01.12.2018