Для этого вам необходимо включить spacer view.
Давайте начнем с некоторыми просмотрами:
Я создал розовый вид занять верхние 70% зрение корня. Сначала я придавить его всем четырем края зрения корня:
Тогда я буду править нижнее ограничением двух способов. Во-первых, я уверен, что первый элемент - розовый, а второй множитель равен 0,7. Затем я обновляю кадр Розового вида по:
Далее я добавить мнение распорного. Я не хочу, чтобы проставка была видна во время выполнения, поэтому я сделаю ее скрытой. Скрытые виды все еще участвуют в макете. Перед установкой ограничений, я просто поставил распорку слева от синей точки зрения:
Теперь я создать ограничения, чтобы сделать разделительную простираться от нижней части розового зрения на дно корневой вид. Ширина не имеет значения, так что я просто прикрепить его к левому краю надтаблицы и сделать его тонким:
Теперь я готов установить синий вид. Во-первых, я дам ему фиксированный размер:
Второй я центрировать его по горизонтали в окне корня:
Третий Я придавить его вертикального центра к вертикальный центр распорный по:
Это все Constrain Мне нужно.Я буду обновлять все кадры, чтобы проверить:
я могу проверить его с помощью предварительного просмотра в редакторе помощника:
Обратите внимание, что вид распорки не виден в предварительный просмотр, но все же участвует в компоновке.
Спасибо за подробный ответ Rob. В настоящее время я использую подобный трюк (добавив представление контейнера, которое заполняет пустоту ниже вида A, а затем центрирует представление B внутри этого представления контейнера. Однако я надеялся, что будет любое другое решение, которое не потребует добавления каких-либо дополнительных представлений. Я делаю это программно (не используя построитель интерфейса для этого конкретного контроллера представления), поэтому добавление вспомогательных/контейнерных/распорных представлений просто кажется ненужным беспорядком. – quentinadam
Это необходимо, если вы используете ограничения. –
Хорошо, я соглашусь с ним как ответить – quentinadam