Как написать свой контейнер через протокол Layout?
Суть
Протокол Layout (iOS 16) открывает тот же механизм, на котором построены HStack и VStack. Контейнер реализует два метода: sizeThatFits(proposal:subviews:cache:) — какой размер я займу при данном предложении, и placeSubviews(in:proposal:subviews:cache:) — куда поставить каждого ребёнка. Дети доступны как прокси LayoutSubview: у них можно спросить размер для любого предложения и вызвать place(at:anchor:proposal:). Видеть их body или тип контейнер не может — только размеры и layout-значения.
Продолжение ответа с кодом и уточняющими вопросами интервьюера — в приложении DevPrep.
Полный ответ — в DevPrep