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

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

У вас есть идея, чтобы решить это?

Спасибо

ошибка просмотра

ошибка ограничений

4 ответа

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

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

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

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

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

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

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

Другие вопросы по тегам