Я вполне понимаю вашу проблему, раньше у нас был центральный навигационный контроллер (UINavigationController
), мы могли вызывать его где угодно и делать push или pop, но теперь только текущее представление может выполнять навигацию, используя NavigationLink
, я сталкивалсята же самая проблема и решение состояло в том, чтобы внедрить UINavigationView
в сиглтоне и вызывать его в любом месте, где я хочу выдвинуть представление типа MyNavigation.push(UIHostingController(rootView: NextView()))
.
В любом случае, я думаю, что этот подход неправильный, потому что для каждого экрана создается новый UIHostingController
, поэтому мы теряем некоторые оптимизации, представленные SwiftUI. Если вы действительно хотите использовать мощные функции SwiftUI, я рекомендую вам перепроектировать ваше приложение для адаптации к возможностям SwiftUI