23. Чем вёрстка через frame отличается от Auto Layout?Теория
Дополнительные вопросы
1. Почему ограничения в Auto Layout записывают как линейные уравнения?
2. Всегда ли по ограничениям можно вычислить положение вью?
1. Почему ограничения в Auto Layout записывают как линейные уравнения?
2. Всегда ли по ограничениям можно вычислить положение вью?
Через frame положение считает сам код. После поворота, клавиатуры или нового текста frame нужно выставить снова.
Auto Layout описывает отношения между вью. При смене размеров систему решает движок, код пересчёта координат не пишут.
1. Движок раскладывает ограничения в линейные уравнения: атрибут равен другому атрибуту, умноженному на коэффициент, плюс константа. У уравнения есть приоритет. Так решатель находит кадры, которые удовлетворяют всем правилам сразу.
2. Нет. Если правил не хватает, раскладка неоднозначна и положение выбирается произвольно. Если правила противоречат друг другу, система не может выполнить все и ломает одно из них.