VStack中的ScrollView与swiftui中的底部对齐

Wis*_*uns 3 swiftui

我无法让这个滚动视图与 SwiftUI 中的底部对齐!

我在滚动视图中有三个项目,但我希望它们与屏幕底部对齐(红色箭头显示我想要这些项目的位置!)

在此输入图像描述

这是我的代码:

import SwiftUI

struct ContentView: View {
    var body: some View {
        ZStack {
            Color.blue.edgesIgnoringSafeArea(.all)
            VStack {
                ScrollView {
                    Spacer(minLength: 80)
                    Text("a")
                    Text("b")
                    Text("c")
                }.frame(maxHeight: /*@START_MENU_TOKEN@*/.infinity/*@END_MENU_TOKEN@*/)
                Text("Button")
                    .padding()
            }.frame(alignment: .bottom)
        }
    }
}

struct ContentView_Previews: PreviewProvider {
    static var previews: some View {
        ContentView()
    }
}
Run Code Online (Sandbox Code Playgroud)

我正在尝试间隔,并将内容旋转 180 度?我应该怎么办?

Ada*_*dam 5

GeometryReader 来拯救你!首先,将 ScrollView 包装在 GeometryReader 中,以便获得滚动区域\xe2\x80\x99s 的高度。然后将其设置为ScrollView\xe2\x80\x99s 内容的最小高度并使用底部对齐:

\n
var body: some View {\n    ZStack {\n        Color.blue.edgesIgnoringSafeArea(.all)\n        VStack {\n            GeometryReader { geometry in\n                ScrollView {\n                    VStack {\n                        Text("a")\n                        Text("b")\n                        Text("c")\n                    }\n                    .frame(maxWidth: .infinity,\n                           minHeight: geometry.size.height,\n                           alignment: .bottom)\n                }\n            }\n            Text("Button")\n                .padding()\n        }\n    }\n}\n
Run Code Online (Sandbox Code Playgroud)\n