Ответ 1
Причиной двух проходов является то, что любой элемент структуры может влиять на оставшееся доступное пространство других.
Некоторые элементы хотят взять максимально возможное пространство, в то время как другие имеют фиксированные размеры. Вы также можете иметь элементы с максимальной шириной. Он создает уравнение, которое невозможно решить за один проход.
Различные панели в иерархии задают элементам, какой размер им нужен в первом проходе, затем распределяют пространство между ними в соответствии с каждой природой панели и, наконец, информируют каждый элемент о выделенном пространстве.
EDIT: Еще несколько объяснений
Основной недостаток макета одного прохода заключается в том, что вы обрабатываете каждый элемент последовательно. Первый элемент занимает определенное пространство, а остальные - остальные. Почему этот элемент первый? Попробуйте свой алгоритм с другим порядком элементов, и у вас будут разные результирующие макеты.
Схема двух прохода имитирует параллельное поведение, при котором каждый элемент влияет на весь макет.