DevPrep

Все темы › SwiftUI

Как работает раскладка в SwiftUI: предложение размера, выбор размера, размещение?

Middle PRO

Суть

Раскладка в SwiftUI — диалог из трёх шагов. Родитель предлагает ребёнку размер (ProposedViewSize: каждая ось — число, nil «какой тебе удобно», 0 «минимальный» или .infinity «максимальный»). Ребёнок выбирает свой размер с учётом предложения, но не обязан ему подчиняться. Родитель размещает ребёнка в своих координатах — изменить выбранный ребёнком размер он уже не может.

В отличие от Auto Layout здесь нет системы ограничений: каждая view — функция «предложение → размер», раскладка идёт сверху вниз, а контейнеры при необходимости опрашивают детей несколько раз с разными предложениями.

Продолжение ответа с кодом и уточняющими вопросами интервьюера — в приложении DevPrep.

Полный ответ — в DevPrep

Потренируйтесь перед собеседованием

В DevPrep эти ответы превращаются в задачи на минуту: что напечатает код, найди баг, пробное собеседование. По задаче в день.

Скачать DevPrep в App Store