Неуместные метки/неправильное позиционное ограничение в xcode

У меня есть 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).


person Community    schedule 07.12.2016    source источник


Ответы (1)


Если вы перейдете к инспектору размеров на панели утилит, затем дважды щелкните ограничение, затем коснитесь раскрывающегося списка после «первого элемента» и выберите «обратить первый и второй элементы», все должно быть настроено.

person Whakkee    schedule 16.12.2016