NavigationStack (NavigationStack)
اینجا با «پشته ناوبری» (NavigationStack) آشنا می شوی. پشته ناوبری یعنی رفتنِ پله ای بین صفحه ها. با «NavigationLink» وارد جزئیات می شوی. سپس با «navigationDestination» مقصد را تعیین می کنی. مثل منوی بازی که وارد مرحله بعد می شوی.
ساخت پشته ناوبری با NavigationStack
«NavigationStack» ظرف مسیرهاست. «NavigationLink» لینکِ رفتن است. «navigationDestination» مشخص می کند وقتی لینک را زدی چه نمایی نشان داده شود.
import SwiftUI
struct Detail: View {
let value: Int
var body: some View {
Text("Detail: \(value)")
}
}
struct NavStackBasicDemo: View {
var body: some View {
NavigationStack {
List(1...5, id: \.self) { n in
NavigationLink(
"Item \(n)",
value: n
)
}
.navigationDestination(for: Int.self) { n in
Detail(
value: n
)
}
.navigationTitle("Items")
}
}
}
ناوبری برنامه نویسی با NavigationPath
گاهی می خواهی با کد جلو بروی یا برگردی. «NavigationPath» وضعیت مسیر را نگه می دارد. با دکمه مقدار اضافه کن و با دکمه برگشت آخرین مقصد را حذف کن.
import SwiftUI
struct NumberDetail: View {
let n: Int
var body: some View {
Text("Number: \(n)")
}
}
struct NavStackPathDemo: View {
@State private var path: [Int] = []
var body: some View {
NavigationStack(path: $path) {
VStack(spacing: 12) {
Button("Go to 7") {
path.append(7)
}
Button("Back") {
if !path.isEmpty {
_ = path.removeLast()
}
}
}
.navigationDestination(for: Int.self) { n in
NumberDetail(
n: n
)
}
.navigationTitle("Path Demo")
}
}
}
گام های عملی سریع
- یک NavigationStack بساز و عنوان بده.
- برای هر آیتم، NavigationLink قرار بده.
- با navigationDestination مقصد مرتبط را برگردان.
- اگر کنترل کامل می خواهی، از NavigationPath استفاده کن.
نکته: از «پشته ناوبری» به صورت یکنواخت استفاده کن تا مسیرها گیج کننده نشوند.
پیوندهای مرتبط
برای شروع کلی، صفحه پشته ناوبری را ببین. همچنین برای لینک ها، صفحه NavigationLink را دنبال کن.
جمع بندی سریع
- NavigationStack ظرف مسیرهاست.
- NavigationLink برای رفتن به جزئیات است.
- navigationDestination مقصد هر لینک را تعیین می کند.
- NavigationPath ناوبری کاملاً برنامه نویسی است.