导航栏顶部将添加额外的空格

时间:2020-07-07 19:10:53

标签: ios swift swiftui whitespace navigationbar

我对使用SwiftUI还是比较陌生的,遇到了一个问题,我找不到在线解决方案,我会尽力解释一下。

我正在构建一个涉及侧面菜单下拉菜单的应用程序,其中包含指向其他各个页面的NavigationLinks。有一个名为SideMenu的结构,其中包含所有NavigationLinks及其自己的NavigationView,因为在第一页中会调用一次(否则,在您进一步进入应用程序时,NavigationBars会彼此堆叠)。代码的基本表示形式:

struct MenuContent: View {    
    var body: some View {
        // the various buttons and their NavigationLinks
    }
} 

在XCode内的Canvas预览上运行此侧面菜单时,屏幕显示如下: enter image description here

这是我在完整的应用程序中想要的视图。但是,当我在模拟器中运行代码(这会打开外部XCode应用程序)时,会出现以下视图:

enter image description here

可以看到,在NavigationBar的顶部添加了空白,该空白未出现在“预览画布”表示中。对此原因的任何原因将不胜感激。

1 个答案:

答案 0 :(得分:0)

正如评论中回答的那样,此错误的原因是存在两个NavigationViews。

具体来说,第一个视图隐藏了它的NavigationBar,然后将其链接到第二个视图,然后将其分支到应用程序的主要部分。第二个视图包含一个非隐藏的NavigationBar。运行模拟器时,它将空白隐藏的NavigationBar堆叠在第二个视图的非隐藏NavigationBar的顶部。