SwiftUI NavigationStack всегда появляется в корнеIOS

Программируем под IOS
Ответить Пред. темаСлед. тема
Anonymous
 SwiftUI NavigationStack всегда появляется в корне

Сообщение Anonymous »

Недавно я обновил навигацию в своем приложении, используя большое количество ссылок NavigationLinks, так как видел ошибки, связанные с множественными нажатиями на стек навигации.
Теперь мое приложение работает хорошо с пользовательский навигационный контроллер, который программно добавляет представления в стек, но есть одна проблема: когда я пытаюсь вернуться к предыдущему представлению с помощью кнопки «Назад» на панели инструментов, он всегда возвращается к корню, проходя через все дочерние представления. по одному.
Вот обзор текущей настройки:
Контроллер навигации –

Код: Выделить всё

class NavigationController: ObservableObject {

@Published var homeNavPath: [AppView] = []

public func navigateTo(destination: AppView) {
homeNavPath.append(destination)
}
Стек навигации –

Код: Выделить всё

 NavigationStack(path: $navController.homeNavPath) {
HomeView()
}
Пример навигации –

Код: Выделить всё

public struct HomeView: View {

@EnvironmentObject var navController: NavigationController

public var body: some View {
Text("GO TO POST").onTapGesture {
navController.navigateTo(PostView("123"))
}
}
}

public struct PostView: View {

@EnvironmentObject var navController: NavigationController

public var body: some View {
Text("GO TO USER").onTapGesture {
navController.navigateTo(UserView("123"))
}
}
}

public struct UserView: View {

@EnvironmentObject var navController: NavigationController

public var body: some View {
Text("USER INFORMATION...")
}
}
Я могу прекрасно перемещаться из Домашняя страница -> Публикация -> Пользователь, как и ожидалось, но когда я нажимаю кнопку «Назад» на странице пользователя, он всегда возвращается к корню (например, в данном случае домой) независимо от длины пути навигации.
Вот пример: здесь я нажимаю кнопку «Назад» только один раз:
пример навигационного gif
Дайте мне знать, если есть дополнительная информация, которая может помочь, и спасибо за любые предложения

Подробнее здесь: https://stackoverflow.com/questions/777 ... ps-to-root
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «IOS»