У меня есть 8 меток (назовем их a-h), которые должны располагаться друг под другом. Помимо других ограничений, я делаю это с помощью:
a) top space to superview (3)
a) bottom space to b (22)
b) top space to a (22)
b) bottom space to c (22)
и так далее...
Метки расположены на расстоянии 22 друг от друга по оси Y.
Однако это работает только в том случае, если
c) bottom space to d (-22) !!!
d) top space to c (-22) !!!
Поэтому по какой-то причине AutoLayout, кажется, хочет поместить метку d в совершенно неправильное положение, и я должен приспособиться к этому, установив ограничение на -22 вместо 22. Я не вижу причины, почему.
Мои другие ограничения для меток всегда:
- align center y to (the input element next to it)
- leading space to superview
Рядом с каждой меткой я всегда устанавливаю элемент ввода (UITextField или UISwitch), который всегда имеет следующие ограничения:
- trailing space to superview
- width
- height
- align center y to (their respective label)
Что здесь может происходить? Спасибо :) Примечание. Если настроить неправильное положение на -22 вместо 22, все выглядит отлично - меня просто беспокоит -22.
РЕДАКТИРОВАТЬ: 2 из 8 строк имеют оба UISwitch в качестве элемента ввода рядом с меткой. Оба UISwitch имеют только ограничения Trailing space to superview
и align center y to (corresponding label)
.