为什么swiftui的导航视图栏这么大?

Why is the navigation view bar so large in swiftui?

import SwiftUI
struct SecondView: View {

var ResearchMCQ: Question


//Creating Variables for Revision Topics
@State private var setOptionOne = false
@State private var setOptionTwo = false
@State private var setOptionThree = false
    
//User Home Page View
        var body: some View {
            
//Allows for Navigation and Scrolling
        NavigationView {
        ScrollView{
            
//App Logo and Vertical Stacks
            VStack(spacing: 1.0) {
            Image("AppLogo")
                    .resizable()
                    .scaledToFit()
                    .padding(.trailing, 50.0)
                .frame(height: 100, alignment: .topLeading)

    Spacer()
    Spacer()
                
//Multiple Choice Question Appears
    Group {
    Text(ResearchMCQ.question)
    .padding(.trailing, 4)
    
    Spacer()
    Spacer()
        
//Ensures Only One Answer Can Be Selected
        let OptionOne = Binding<Bool>(get: { self.setOptionOne }, set: { self.setOptionOne = [=10=]; self.setOptionTwo = false; self.setOptionThree = false })
        let OptionTwo = Binding<Bool>(get: { self.setOptionTwo }, set: { self.setOptionOne = false; self.setOptionTwo = [=10=]; self.setOptionThree = false })
        let OptionThree = Binding<Bool>(get: { self.setOptionThree }, set: { self.setOptionOne = false; self.setOptionTwo = false; self.setOptionThree = [=10=] })

//Shows User MCQ Options
        VStack {
            Toggle(ResearchMCQ.options[0], isOn: OptionOne)
                .toggleStyle(.button)
                .tint(Color(.gray))
                .foregroundColor(Color("Black-White"))
            Toggle(ResearchMCQ.options[1], isOn: OptionTwo)
                .toggleStyle(.button)
                .tint(Color(.gray))
                .foregroundColor(Color("Black-White"))
            Toggle(ResearchMCQ.options[2], isOn: OptionThree)
                .toggleStyle(.button)
                .tint(Color(.gray))
                .foregroundColor(Color("Black-White"))
                 }
    }
                
                
        }
            
           // .padding(.top, -150)
    }
}
            
//Allows Navigation Through Pages
   .navigationTitle("")
    .padding(.top, -100)
            
        }

}

Shows large navigation bar

我正在尝试创建一个导航栏,但我希望它是空的,因此代码中的引号是空的。关于如何缩小它的任何想法,因为当我向上滚动时,如图所示,导航栏占据了页面的很大一部分。作为第一次 swift 编码器,任何帮助将不胜感激!!!

您只需要一个 NavigationView。我想您的 FirstView 中也有一个 NavigationView。这已经足够了,因为这个顶级 NavigationView 将包含您所有的更深层次的视图。

所以您的 SecondView 中不需要 NavigationView {}。它仅在您的 FirstView 中需要。只需将它从您的 SecondView 中删除,您就会有一个更小的导航栏。

另外 .navigationTitle("") 应该 您的 NavigationView 中,而不是作为其自身的修饰符 :

struct FirstView: View {
    var body: some View {
        NavigationView {
            NavigationLink("second View", destination: SecondView())
                .navigationTitle("")
        }
    }
}

我已经修改了你的代码,因为我没有问题 class/struct,但它应该与你的代码一样工作

struct SecondView: View {
    var body: some View {
        // I removed the NavigationView that was there
        ScrollView{
            VStack {
                Text("Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.")
                Toggle("Toogle1", isOn: .constant(true))
                Toggle("Toogle2", isOn: .constant(false))
                Toggle("Toogle3", isOn: .constant(true))
            }
        }.navigationTitle("")
    }
}

结果: