0

Demonstration of whitespace problem

When I nest a NavigationView within a NavigationView, an enormous amount of whitespace separates the back button and the new navigation bar title. Is there something I'm doing wrong in terms of setting up my SwiftUI views?

import SwiftUI

struct Dashboard: View {
    @EnvironmentObject var user: User
    let courses = Course.exampleCourses()

    var body: some View {
        NavigationView {
            List(courses) { course in
                NavigationLink(destination: CourseView(course: course)) {
                    Text(course.name)
                }
            }.navigationBarTitle("Welcome, \(user.first)!")
        }
    }
}
import SwiftUI

struct CourseView: View {
    // @ObservedObject allows us to update views whenever values in course change
    @ObservedObject var course: Course
    @EnvironmentObject var user: User

    var body: some View {
        NavigationView {
            List {
                NavigationLink(destination: WritingPromptView(prompt: "What is your course goal, \(user.first)?", explanationText: "This is the answer", textLocation: self.$course.goal)) {
                    Text("Course Goal")
                }
                NavigationLink(destination: NotepadView(parent: self.course)) {
                    Text("Notepad")
                }
                NavigationLink(destination: WritingPromptView(prompt: "<Reflection prompt goes here>", explanationText: "<How to reflect goes here>", textLocation: self.$course.reflection)) {
                    Text("Reflection")
                }

            }.navigationBarTitle(course.name)
        }
    }
}

1 Answers1

0

It's a double NavigationBar. Just remove NavigationView from your CourseView. If you have Previews for CourseView, you will probably want to wrap it NavigationView there.

LuLuGaGa
  • 13,089
  • 6
  • 49
  • 57