Неравномерность ограничения Неоднозначность

У меня проблема с изменением размера UIView с помощью Autolayout и ограничений. Я хотел бы изменить происхождение (меньше или равное оригиналу) и ширину (больше или равную оригиналу), но я получил это: Неравенство Ограничение Неограниченность

Есть ли у вас идея решить эту проблему?

спасибо

view error

constraints error

Ответ 1

Я попытался сократить более 1 ограничение по вертикальному интервалу для 3,5-дюймовых дисплеев, поэтому мне пришлось сделать 2 ограничения между компонентами, которые я хотел бы сжать на меньшем экране. Одним из ограничений было неравенство (большее или равное), где я указывал минимум требуемый размер с приоритетом 1000, другим ограничением было ограничение равенства с определенным размером, подходящим для 4-дюймового экрана, но с более низким приоритетом 250.

Таким образом, Xcode перестала жаловаться, и макет переместился правильно на меньшем экране.

enter image description here

Ответ 2

Ваше представление горизонтально неоднозначно. У вас недостаточно информации о горизонтальных ограничениях, чтобы система могла придумать только одно решение для вашей иерархии представлений. В этом случае он не может определить, какой размер представления или левое поле должно основываться на текущей информации ограничения.

Вам нужно добавить ограничение меньшего, чем требуется, приоритета (< 1000) либо к ширине вашего представления, задав ей определенную ширину, либо добавив ограничение равенства к вашему ограничению по левому краю. Установив новое ограничение как приоритет 1000, он позволит новому ограничению правильно смешиваться с вашими существующими ограничениями неравенства (которые являются обязательными ограничениями). Вот другой вопрос, который похож на ваш, относящийся к неравенствам.

Вид будет отличаться по-разному, в зависимости от того, добавляется ли новое ограничение на ширину представления или левое поле вида. Все зависит от того, как вы хотите, чтобы ваш макет вел себя в ответ на изменения.

Ответ 3

Это не имеет смысла для компилятора (и логически), потому что нет способа узнать, должна ли программа изменять x или ширину. Создание одной из двух статических будет решить вашу проблему.

Ответ 4

Сначала вы должны знать, что хотите делать с ограничениями, удалите ограничение больше, чем равное, которое не создает сцену с ограничением меньше, чем равным. buz view необходимо определить ограничение ширины. либо применить приоритет, для которого роль роли ограничения сначала (ограничение больше или равно ограничению или меньше, чем ограничение).