Как Auto Layout работает с UIScrollView?
Суть
UIScrollView не вычисляет contentSize из intrinsic size subviews — он получает его из констрейнтов. Для этого у скролла есть два layout guide:
contentLayoutGuide— прямоугольник прокручиваемого контента; его размер и становитсяcontentSize.frameLayoutGuide— видимая рамка скролла (егоboundsбез учёта offset).
Правило: контент привязывают ко всем четырём сторонам contentLayoutGuide, а ту ось, по которой прокрутки быть не должно, фиксируют констрейнтом к frameLayoutGuide (для вертикального списка — widthAnchor). Внутри контента должна быть непрерывная цепочка констрейнтов от верха до низа, чтобы высота вычислилась; обычно её даёт UIStackView.
Продолжение ответа с кодом и уточняющими вопросами интервьюера — в приложении DevPrep.
Полный ответ — в DevPrep