SwiftUI:将按钮放在列表下方

时间:2020-08-19 23:53:02

标签: swift swiftui spacing vstack

我的一个视图将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)
}

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

enter image description here

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

我该怎么做?

1 个答案:

答案 0 :(得分:1)

当然,发布问题后,我很快找到了解决方案。我将部分添加到列表中,然后将按钮放在第二部分的页脚中。我还删除了不再需要的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)
}

结果:

enter image description here