【问题标题】:SwiftUI Navigation View doesn't have enough space before contentSwiftUI 导航视图在内容之前没有足够的空间
【发布时间】:2021-07-19 08:35:47
【问题描述】:

我有一个 SwiftUI 导航视图,里面的内容视图在导航栏和内容之间有非常小的空间。这是我的代码:

struct TestView: View {

var body: some View {
    ZStack(alignment: .top) {
        NavigationView {
            List {
                Section(header: Text("Section Header")) {
                    NavigationLink(
                        destination: CustomDeckView(),
                        label: {
                            Text("A link")
                                .foregroundColor(AppTheme.Colors.text)
                        })
                    .preferredColorScheme(.light)
                }
            }
            .listStyle(InsetGroupedListStyle())
            .navigationBarTitleDisplayMode(.inline)
        }
        .navigationViewStyle(StackNavigationViewStyle())

        Text("Custom Font")
            .font(.custom("Pacifico-Regular", size: 27.5))
            .offset(y: -5)
    }
}

}

这是应用预览中的样子:

【问题讨论】:

    标签: swiftui swiftui-navigationview


    【解决方案1】:

    试试这个:

    Section(header: Text("Section Header").padding(.top, 44)) {
     ....
    }
    

    或者您可以将其添加到列表中。

      List {
        ....
      }.padding(.top, 44)
    

    【讨论】:

    • 谢谢,@workingdog,但在节标题文本中添加填充顶部不起作用,当我向列表添加顶部填充时,它可以工作,但是,我最终得到白色背景颜色的间隙在导航栏和第一节标题之间:imgur.com/lf36ZPD
    • 哈,我明白了,我使用的是 Xcode 13,目标是 ios15,并且 Section 标头填充在没有空格间隙的情况下起作用。可能不在旧版本的 ios 中。
    • 嘿@workingdog,对不起,我编辑了错误的文件!向部分标题文本添加填充确实有效! :) 我忘了添加版本(Xcode 14),但非常感谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-09-03
    • 2016-08-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多