导航栏,删除陌生空间

时间:2020-04-05 02:34:23

标签: swift xcode listview swiftui navigationview

在我的项目中,我尝试通过NavigationView删除顶部栏Rectangle()和列表之间的难看空间。

我不知道为什么在这两个View SwiftUi之间创建空间。

从下面的图片中可以看到,一旦添加了NavigationView,它就会出现一个奇怪的空间。

我希望我的NavigationBarITEM触摸我的Rectangle()

如果我使用offset()可以工作,但是听起来很奇怪..默认情况下,它们应该位于VStack内

谢谢

   VStack{
                        Rectangle()
                            .frame(height: g.size.height/12)
                            .foregroundColor(.blue)
                            .edgesIgnoringSafeArea(.top)
                        NavigationView{
                            List{
                                ForEach(self.dm.storage) { item in
                                    Text(item.airportData.aptICAO)
                                }

                            }  .navigationBarItems(trailing: EditButton())
                        }
                    }

Navigation View space

1 个答案:

答案 0 :(得分:1)

看来您在视图层次结构中已经有NavigationView了,因此您不需要第二个

VStack{
    Rectangle()
        .frame(height: g.size.height/12)
        .foregroundColor(.blue)
        .edgesIgnoringSafeArea(.top)
                                     // << no additional NavigationView needed
        List{
            ForEach(self.dm.storage) { item in
                Text(item.airportData.aptICAO)
            }

        }  .navigationBarItems(trailing: EditButton())
}