Вопрос проверяет практический опыт и умение выбирать инструмент под задачу, а не использовать Auto Layout по умолчанию.
Фреймовую верстку предпочтительно использовать там, где интерфейс простой, размеры известны заранее или UI часто обновляется. Она даёт полный контроль над геометрией и работает быстрее, так как не требует решения системы ограничений. Особенно хорошо фреймы подходят для ячеек списков, кастомных view и анимаций. При этом ответственность за адаптацию интерфейса ложится на разработчика.
Фреймовая верстка — это не “устаревший подход”, а осознанный выбор для конкретных сценариев, где Auto Layout даёт избыточную сложность.
При фреймах:
ты напрямую задаёшь frame и bounds
система не пересчитывает ограничения
layout полностью детерминирован твоим кодом
Если UI:
состоит из нескольких элементов
имеет предсказуемые размеры
мало зависит от контента
то Auto Layout даёт мало пользы, но добавляет накладные расходы.
В UITableView и UICollectionView фреймы часто лучше, потому что:
layout вызывается очень часто
reuse должен быть максимально дешёвым
размеры элементов обычно известны
Поэтому:
сложные коллекции
высоконагруженные ленты
часто делают на фреймах.
Для view с собственной логикой отрисовки:
графики
диаграммы
canvas-подобные элементы
фреймы дают:
простой код
предсказуемый результат
отсутствие лишнего layout-прохода
Анимация через изменение frame:
проще
дешевле
легче контролируется
Особенно это актуально для интерактивных анимаций.
Используя фреймы, ты берёшь на себя:
адаптацию под разные экраны
учёт safe area
поддержку поворотов и split view
Фреймы предпочтительны там, где важны производительность и контроль, а адаптивность UI либо проста, либо хорошо известна заранее.