SwiftUI双导航栏

时间:2019-09-23 14:54:20

标签: swift swiftui

我在SwiftUI中导航遇到麻烦。我在导航栏上有一个按钮,如果单击该按钮,则会推入带有项目列表的新导航视图。轻触其中一项时,它将推送详细视图。

但是我最终得到的是这样的东西。 enter image description here

下面是代码

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")
       }
   }
}

2 个答案:

答案 0 :(得分:5)

+----------+-------+---------+ | Person | Group | Ranking | +----------+-------+---------+ | Person A | X | 1 | | Person A | Y | 2 | | Person A | X | 3 | | … | | | +----------+-------+---------+ 中删除NavigationView

SecondView将第二个视图放置在第一个视图导航视图中,因此您无需将其放置在第二个视图中。

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

SecondView

答案 1 :(得分:0)

奎因是对的。 但是如果您希望在上方有一个大区域:

enter image description here

enter image description here

添加:

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