NavigationView - это основной компонент для организации навигации в
SwiftUI приложениях. Он позволяет создавать иерархические переходы между экранами, похожие на стандартные
UINavigationController в
UIKit.
Основные возможности:
- Стековая навигация (push/pop).
- Автоматическая кнопка "Назад".
- Поддержка заголовков и панелей инструментов.
Пример использования:
struct MenuView: View {
var body: some View {
NavigationView {
List {
NavigationLink("Первый экран", destination: FirstScreen())
NavigationLink("Второй экран", destination: SecondScreen())
}
.navigationTitle("Главное меню")
}
}
}
Ключевые модификаторы:
- navigationTitle - задает заголовок экрана.
- navigationBarItems - добавляет кнопки в панель навигации.
- navigationBarHidden- скрывает панель навигации.
NavigationLink - основной способ перехода между экранами:
NavigationLink(destination: FirstScreen()) {
Text("Первый экран")
}
Советы по использованию:
- Не вкладывайте несколько NavigationView друг в друга.
- Для сложной навигации используйте NavigationStack.
- Помните, что стиль навигации может отличаться на разных платформах (iOS, macOS).
NavigationView значительно упрощает реализацию навигации по сравнению с
UIKit, сохраняя при этом привычный пользователям
iOS интерфейс.