Есть ли какое -либо преимущество использования NavigationStack при работе с навигацией.IOS

Программируем под IOS
Ответить Пред. темаСлед. тема
Anonymous
 Есть ли какое -либо преимущество использования NavigationStack при работе с навигацией.

Сообщение Anonymous »

После работы с uikit в течение нескольких лет я все еще новичок в Swiftui и особенно с его навигационными функциями. /code> и .navigationDestination . Кажется, что использование этих функций позволяет только навигацию (например, в UinavigationController ). Это правильно? что это возможно, но должно быть реализовано вручную: < /p>

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

struct ContentView: View {
@State private var navigationPath = NavigationPath()
@State private var presentingSheet: Bool = false
@State private var presentingFullScreen: Bool = false
@State private var selectedItem: String?

var body: some View {
NavigationStack(path: $navigationPath) {
VStack {
/*Button("Push to Detail") {
navigationPath.append("Detail")
}*/

Button("Present as Sheet") {
selectedItem = "Detail"
presentingSheet = true
}

Button("Present as FullScreen") {
selectedItem = "Detail"
presentingFullScreen = true
}
}
/*.navigationDestination(for: String.self) { value in
DetailView(value: value)
}*/
.sheet(isPresented: $presentingSheet) {
if let selectedItem {
DetailView(value: selectedItem)
}
}
.fullScreenCover(isPresented: $presentingFullScreen) {
if let selectedItem {
DetailView(value: selectedItem)
}
}
}
}
}
Хотя это, очевидно, работает, я не понимаю, какое преимущество я получаю от использования NavigationStack в этом примере. NavigationPath используется только при использовании навигации Push, но не при использовании .sheet или .fullstackcover , не так ли? Причина для использования NavigationStack вообще, когда навигация Push не используется? .fullstackcover или мне нужно пользовательское или стороннее решение, как шаблон маршрутизации?

Подробнее здесь: https://stackoverflow.com/questions/794 ... eet-or-ful
Реклама
Ответить Пред. темаСлед. тема

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

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

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

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

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

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