在SwiftUI中使用TabView时NavigationView无法正确显示

时间:2019-09-03 22:20:34

标签: swift swiftui tabview ios-navigationview

大家好。我正在开发一个显示一些鸣叫的简单SwiftUI应用程序。它具有一个带两个视图的选项卡视图:将显示推文的主页和一个辅助视图。

问题在于主页上有一个im = Image.open("myfig.png").convert('1') im.save("myfig.pbm") 。如果我选择仅显示主页,那么一切似乎都正确,但是当我从NavigationView显示它并向下滚动时,NavigationView感觉有点奇怪。

由于我不擅长解释,这里有一些图片:

应该是这样 it should be like this

但是就是这样 but it is like this

我考虑添加TabView,但是NavigationView现在被该凹槽隐藏了,并且没有效果。

有什么方法可以使NavigationView像第一个图像一样显示吗?

感谢您的帮助。预先感谢。

我的代码

HomePageView

.edgesIgnoringSafeArea(.top)

TabView

struct HomePageView: View {

    var body: some View {
        NavigationView {
            List {
                //tweet code
            }
            .navigationBarTitle("Your feed")
        }
    }
}

1 个答案:

答案 0 :(得分:9)

尝试将.edgesIgnoringSafeArea(.top)添加到标签视图中。

struct ContentView: View {
    @State private var selection = 0

    var body: some View {
        TabView(selection: $selection){
            HomePageView()
                .tabItem {
                    VStack {
                        Image(systemName: "house.fill")
                            .font(.title)
                    }
                }
                .tag(0)
            Text("Second View")
                .font(.title)
                .tabItem {
                    VStack {
                        Image(systemName: "bell.fill")
                            .font(.title)
                    }
                }
                .tag(1)
        }.edgesIgnoringSafeArea(.top)
    }
}