Обновить

Комментарии 2

НЛО прилетело и опубликовало эту надпись здесь

Вопрос 1: почему завернул containered в массив?

Не уверен, что понял вопрос. Массив - потому что нужно было реализовать функциональность стека. Так как коллекция "стек" в Swift отсутствует, то проще всего было использовать именно массив. В целом - это можно делать по-разному.
Если вопрос касался ContainerView, то потому, для инициализации массива мы не можем использовать View или some View.

Вопрос 2: при описанном подходе мы отказываемся от стандартных анимаций переходов между экранами (и от модальных презентаций), а значит должны реализовать кастомные, верно?

Точно такую анимацию как это делается при использовании UINavigationViewController в UIKIt сделать не получается. Но достаточно добавить   .transition(.move(edge: .trailing)) к "навигационному вью" и .transition(.move(edge: .bottom)) - для модального окна - чтоб получить схожее поведение.

Бонус: предлагаю заменить @ObservedObject на @StateObject внутри struct ContentView, ...

Согласен. Для данного примера @StateObject подходит лучше.

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации