【问题标题】:SwiftUI double navigation barSwiftUI 双导航栏
【发布时间】:2019-09-23 14:54:20
【问题描述】:

我在 SwiftUI 中导航时遇到问题。我在导航栏上有一个按钮,如果单击它会推送一个带有项目列表的新导航视图。当其中一个项目被点击时,它会推送一个详细视图。

但我最终会得到这样的结果。

下面是代码

struct FirstView: View {

   var body: some View {
       NavigationView {
           List {
            ...
           }
           .navigationBarTitle(Text("First View"))
           .navigationBarItems(trailing: MyButton())
       }
    }
}

struct MyButton: View {
    var body: some View {
        NavigationLink("SecondView", destination: SecondView())
    }
}

struct SecondView: View {
   var body: some View {
       NavigationView {
           Text("My View")
       }
   }
}

【问题讨论】:

    标签: swift swiftui


    【解决方案1】:

    从SecondView 中删除NavigationView。

    NavigationLink 将第二个视图放在第一个视图导航视图中,因此您不需要将它放在第二个视图中。

    您仍然可以像这样从SecondView 更新视图的标题:

    struct SecondView: View {
       var body: some View {
           Text("My View")
           .navigationBarTitle("Second View")
       }
    }
    

    【讨论】:

    • 是的!一直想弄清楚那个!谢谢
    • 谢谢你救了我:->
    【解决方案2】:

    奎因是对的。 但如果你不想要上面的大面积:

    添加:

    struct SecondView: View {
       var body: some View {
           Text("My View")
            .navigationBarTitle("Second View", displayMode: .inline)
       }
    }
    

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-06-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多