Autolayout: Добавить ограничение для просмотра, а не руководство Top Layout?

У меня есть UIView в моем UIViewController в раскадровке, в котором я хочу добавить ограничение на пробел, которые видят расстояние от верхнего края.

Теперь, когда я делаю обычный ctrl + перетаскивание в основное представление ViewController, я получаю только опцию, чтобы установить его в верхний макет.

Это проблема для меня, потому что в какой-то момент в приложении Im собирается переместить основной вид примерно на 20-50 пикселей, и что происходит, тогда это представление, которое у меня не будет перемещаться... потому что оно не выровнено для супервизора.

Как я могу вручную сделать это в раскадровке или мне нужно добавить его программно?

Im, используя xcode 6.

Ответ 1

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

enter image description here

Ответ 2

Вы можете сделать это, выделив представление, которое вы хотите в раскадровке, а затем выберите Editor > Pin > Top Space to Superview в верхнем меню.


Это устарело в XCode 7, вместо этого ответьте @PaulGurov.

Ответ 3

Можно также добавить, что если просмотр, который вы пытаетесь вывести, не является прямым подходом к представлению, к которому вы хотите привязать его, предлагаемый подход действительно недействителен. Предположим, что иерархия представлений выглядит так, и вы хотите связать изображение (Parallax Image View в этом случае) с представлением контроллера просмотра (View в этом случае).

введите описание изображения здесь

Для этого вы просто Control + Drag от Parallax Image View до View. Здесь представлены варианты по умолчанию, в которых вы можете увидеть Vertical Spacing to Top Layout Guide, чтобы навести Parallax Image View на верхний макет.

введите описание изображения здесь

То, что вы хотите, - это привязать его к вершине (маржи) представления. Для этого вам нужно переключиться на другой набор ограничений, нажав Alt

введите описание изображения здесь

Ответ 4

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

Выбрать относительную маржу

Ответ 5

Дан ответ работает. Я просто хотел сказать, что если вы установите свое представление в storyBoard на y < 20, и сконфигурируйте ограничения через панель контактов, он установит верх, чтобы просмотреть:

enter image description here

enter image description here

Ответ 6

Если высота представления установлена ​​на 0 случайно, руководство по вертикальному пространству в верхнем макете НЕ появится. Однако появится руководство по вертикальному пространству в нижнем макете, которое должно было иметь смысл для кого-то из Apple около 2004 года.

Ответ 7

Ни один из вышеперечисленных ответов не работал у меня, вместо этого я должен сделать взломать, чтобы установить верхнюю часть subview сверху сверху сверху с помощью руководства Top layout.

  • Сначала установите вертикальный центр подвью с помощью супервизора.
  • Затем измените ограничения Центра Y для subview, а также супервизора на Верх.

Вы хорошо пойдете сейчас.