Что означает предупреждение Auto Layout, как его локализовать и исправить, и что делает translatesAutoresizingMaskIntoConstraints?

Предупреждение обычно сообщает о несовместимых constraints. Найдите конфликтующие правила, а не скрывайте лог; autoresizing mask тоже может создавать ограничения.

Короткий ответ

Что ответить на собеседовании

Предупреждение обычно сообщает о несовместимых constraints. Найдите конфликтующие правила, а не скрывайте лог; autoresizing mask тоже может создавать ограничения.

Подробный разбор

Ответ с пояснениями

Предупреждение обычно сообщает о несовместимых constraints. Найдите конфликтующие правила, а не скрывайте лог; autoresizing mask тоже может создавать ограничения.

Поставьте symbolic breakpoint UIViewAlertForUnsatisfiableConstraints, изучите список конфликтов и иерархию в View Debugger. Добавьте constraints понятные identifiers; проверьте дубли, константы, priorities, разные размеры и локализации.

translatesAutoresizingMaskIntoConstraints преобразует autoresizing mask в ограничения. Для view с программно заданными собственными constraints обычно устанавливают false, иначе полученные правила могут конфликтовать. Это не команда «выключить Auto Layout». Отличайте несовместимость от неоднозначности: во втором случае решений несколько и предупреждение о broken constraint может вообще не появляться.

Источник: developer.apple.com.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее