Почему каждый разработчик iOS должен знать об автомакете iOS?

Автомакет в раскадровке мощнее, чем вы думаете. Как только вы поймете его силу, вы полюбите его.

Что такое автомакет?

Autolayout — это система, в которой вы определяете правило (называемое ограничением) относительно положения любого представления или его размера. Правило может быть примерно таким -

button.top = superview.center + константа

or

button.leading = другая кнопка.leading + константа

or

view.height = другойView.height + константа

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

Ограничение — это не равенство. Это условие, которое должно быть удовлетворено.

Почему авторазметка?

Автомакет — это мощно. Если вы используете раскадровку, вы должны знать autolayout. Он невероятно мощный, и, используя классы размеров, вы можете создавать различные макеты для iphone и ipad, а также для портретной и альбомной ориентации. Вы можете сделать все это в раскадровке, не написав ни строчки кода.

Где научиться авторазметке?

Существует ряд ресурсов, где вы можете изучить автомакет. Три ресурса, которые нельзя пропустить :

  1. www.appcoda.com
  2. www.raywenderlich.com
  3. разработчик.apple.com

Вы также можете найти другие ресурсы, такие как YouTube и другие веб-сайты.

Подробнее об автомакете

Класс, связанный с ограничением, — NSLayoutConstraint. Вы также можете использовать авторазметку в коде. Вы можете сделать выходы из ограничений раскадровки в контроллерах представления. Вы также можете изменить ограничения раскадровки в коде.

Например, вы можете скрыть любой вид, сделав это.

viewHeightConstraint.constant = 0

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

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

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