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