SwiftUI:将按钮放置在列表下方

koe*_*oen 2 spacing swift swiftui vstack

我的一个视图有一个 grouped List,我喜欢在最后一行下方放置一个按钮。这是代码:

var body: some View {
    VStack() {
        List {
           Text("Hello World")
           Text("Hello World")
           Text("Hello World")
           Text("Hello World")
        }
        .listStyle(GroupedListStyle())

        Button("Button") {}
    }
    .navigationBarTitle("Hello World", displayMode: .inline)
}
Run Code Online (Sandbox Code Playgroud)

问题:该按钮始终显示在屏幕底部。我尝试添加间隔符,向 中添加间距修饰符VStack,但按钮始终位于底部:

在此输入图像描述

相反,我希望按钮位于列表下方并留有一定的间距。

我怎样才能做到这一点?

koe*_*oen 5

当然,我在发布问题后很快就找到了解决方案。我将部分添加到列表中,然后将按钮放在第二部分的页脚中。我还删除了不再需要的VStack.

var body: some View {
    List {
        Section {
           Text("Hello World")
           Text("Hello World")
           Text("Hello World")
           Text("Hello World")
        }
        
        Section(footer:
            HStack(alignment: .center) {
                Spacer()

                Button("Button") {
                    print("tapped button")
                }
                Spacer()

        }) {
            EmptyView()
        }
    }
    .listStyle(GroupedListStyle())
    .navigationBarTitle("Hello World", displayMode: .inline)
}
Run Code Online (Sandbox Code Playgroud)

结果:

在此输入图像描述