SwiftUI Codes
Best SwiftUI Code Warehouse

Lesson 7: Navigation and Transitions

Objective:

Learn how to navigate between screens and apply transitions.

Content:

1. NavigationView and NavigationLink

Using NavigationView and NavigationLink to create navigation stacks.

Creating a Navigation Stack:

NavigationView {
    NavigationLink(destination: DetailView()) {
        Text("Go to Detail View")
    }
    .navigationTitle("Home")
}

Explanation:

2. Passing Data to Destination

Passing data to the destination view using NavigationLink.

Example:

struct HomeView: View {
    var body: some View {
        NavigationView {
            NavigationLink(destination: DetailView(data: "Hello, Detail!")) {
                Text("Go to Detail View")
            }
            .navigationTitle("Home")
        }
    }
}

struct DetailView: View {
    let data: String

    var body: some View {
        Text(data)
    }
}

Explanation:

3. Custom Transitions

Applying custom transitions when showing and hiding views.

Applying Custom Transitions:

@State private var showDetail = false

var body: some View {
    VStack {
        Button("Show Detail") {
            withAnimation {
                showDetail.toggle()
            }
        }

        if showDetail {
            DetailView()
                .transition(.slide)
        }
    }
}

Explanation:

4. TabView Navigation

Using TabView for navigation with tabs.

Using TabView:

TabView {
    HomeView()
        .tabItem {
            Label("Home", systemImage: "house")
        }

    SettingsView()
        .tabItem {
            Label("Settings", systemImage: "gear")
        }
}

Explanation:

Lesson 8: Forms and User Inputs