İçeriğe geç

SwiftUI 4 ile NavigationStack kullanımı

Merhabalar, Bu yazımda değişen yeni yapısı ile NavigationStack eski adı ile NavigationView kullanımını sizlerle paylaşacağım.

SwiftUI 4 versiyonunda en önemli yeniliklerden biri kesinlikle navigation yapısının değişmesi oldu. UIKit yapısına benzer stack üzerinden yürüyen sistemde ilgili array içerisine push, pop yaparak ekranları yönetebiliyoruz. Tüm arrayı temizlediğimizde ise pop to root işlemi gerçekleşmiş oluyor. Ve ForEach yada List içerisinde NavigationLink işlemi eski sürümde sorun oluşturmaktaydı. Bu versiyonda bu sorun fixlenmiş.

struct NavigationStackExample: View {

    @State private var viewsStack: [String] = []

    var body: some View {
        NavigationStack(path: $viewsStack) {
            VStack {
                Button("Push Push") {
                    viewsStack.append("Camera")
                }
                //NavigationLink("Push Push", value: "Camera")
                .navigationDestination(for: String.self) { value in
                    SecondScreen(stack: $viewsStack, screen: value)
                }
                .navigationTitle("Navigation")
            }
        }
    }
}

struct SecondScreen: View {

    @Binding var stack: [String]
    var screen: String

    var body: some View {
        VStack(spacing: 14) {
            Text(screen)
            Button("Pop to Root") {
                stack.removeAll()
            }
        }
        .padding()
    }
}

Kategori:SwiftUI

İlk Yorumu Siz Yapın

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

© 2025 Kenan Atmaca