SwiftUI Academy · Урок

Объединение вкладок со стеками

Назначьте каждой вкладке собственный NavigationStack.

Урок 4 из 413 шагов

«Объединение вкладок со стеками» — бесплатный урок SwiftUI Academy на CoddyKit. Это урок 4 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения SwiftUI Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс SwiftUI Academy содержит 4 уроков всего.

Части этого урока еще не переведены и отображаются на английском.

Tabs Plus Navigation

Most real apps let users tap a tab and then drill into detail screens. That means mixing TabView with NavigationStack. 🧭

One Stack per Tab

The pattern is simple: give every tab its own NavigationStack so each section has independent push and pop history.

Wrapping a Tab Screen

Put a NavigationStack inside each tab and place that tab content within it. The tab bar stays put while you navigate.

NavigationStack {
    HomeScreen()
}
.tabItem { Label("Home", systemImage: "house") }

Stack Lives Inside TabView

Order matters: NavigationStack goes inside the TabView, never the other way around, so the bar never scrolls away.

Independent History

Because each tab owns its stack, drilling deep in one tab leaves the others untouched when you come back.

A Full Combined Example

Here two tabs each wrap their screen in a stack, giving Home and Search their own navigation.

TabView {
    NavigationStack { HomeScreen() }
        .tabItem { Label("Home", systemImage: "house") }
    NavigationStack { SearchScreen() }
        .tabItem { Label("Search", systemImage: "magnifyingglass") }
}

Pushing Detail Views

Inside a tab use NavigationLink as usual to push detail screens onto that tab own stack.

NavigationLink("Details") {
    DetailScreen()
}

Titles Stay Per Tab

Set navigationTitle inside each stack so every tab shows its own title in the bar at the top.

Switching Tabs Keeps Depth

Move to another tab and back and your position in that tab navigation is preserved, just like native apps.

Avoid Stacking the Bar

Never wrap the whole TabView in a single NavigationStack. That can push the tab bar around in odd ways.

A Scalable Structure

This tab-plus-stack layout scales cleanly. Add a tab, give it a stack, and the rest of the app keeps working. ✨

Quick Check

Let us check the right way to nest navigation with tabs.

Recap: Combining Tabs with Stacks

Wrap each tab content in its own NavigationStack inside the TabView, and every section gets independent navigation with a steady tab bar. 🎉

Можно начать бесплатно

Изучай Swift с ИИ-репетитором — бесплатно

Пиши и запускай код прямо в браузере, получай мгновенную помощь от ИИ-репетитора 24/7 и продолжи учиться на сайте или в приложении.

Курсы
30
Уроки
120

Часто задаваемые вопросы

Урок «Объединение вкладок со стеками» бесплатный?

Да — полный текст урока «Объединение вкладок со стеками» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс SwiftUI Academy, подпишись на CoddyKit PRO. Курс SwiftUI Academy содержит 4 уроков всего.

Чему я научусь в уроке «Объединение вкладок со стеками»?

Назначьте каждой вкладке собственный NavigationStack. Ты практикуешь SwiftUI Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.

Нужен ли мне опыт, чтобы начать SwiftUI Academy?

Предыдущий опыт не требуется. SwiftUI Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 4 из 4.

Сколько времени занимает урок «Объединение вкладок со стеками»?

Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.

Можно ли писать и запускать код в этом уроке SwiftUI Academy?

Да. Каждый урок SwiftUI Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.

Все уроки этого курса

  1. Создание панели вкладок
  2. Элементы вкладок и значки уведомлений
  3. Привязка выбранной вкладки
  4. Объединение вкладок со стеками
← Назад к SwiftUI Academy