Описание тега nslayoutconstraint

NSLayoutConstraint - это ограничение, определяющее отношения между двумя объектами пользовательского интерфейса, которым должна удовлетворять система компоновки на основе ограничений. Доступно в iOS 6.0 и новее в UIKit и доступно в OS X v10.7 и новее в AppKit.

Ограничение определяет отношения между двумя атрибутами объектов пользовательского интерфейса, которым должна соответствовать система компоновки на основе ограничений.

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

атрибут1 == мультипликатор × атрибут2 + константа

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

Ограничения не ограничиваются отношениями равенства. Они также могут использовать больше или равно (>=) или меньше или равно (<=) для описания связи между двумя атрибутами. Ограничения также имеют приоритеты, указывающие системе макета, какое ограничение должно иметь приоритет, когда два или более ограничений находятся в конфликте. Комбинация набора ограничений, наряду с набором приоритетов для применения этих ограничений, может однозначно описывать отношения между несколькими элементами пользовательского интерфейса во всех допустимых конфигурациях этих элементов, позволяя системе динамически размечать пользовательский интерфейс как размер и изменение расположения элементов пользовательского интерфейса.

Источник: Библиотека разработчика Apple IOS (справочник по классу NSLayoutConstraint)