🥮

【SwiftUI】項目が多い時はスクロール、少ない時は領域の真ん中

に公開

長いことやり方がわからなかったが、ようやく知ったのでメモ書き。

GeometryReader { geometry in
    ScrollView() {
        VStack {
            Text("Hello, World!")
        }
        .frame(minHeight: geometry.size.height)
    }
}

Spacer() が入っても

  • エリアに余裕があるときは Spacer() が広がる
  • エリアに余裕がないときは Spacer() が閉じる
// Text("Hello, World!")を増やしたり減らしたりしてください
GeometryReader { geometry in
    ScrollView() {
        VStack {
            Spacer()
            Group {
                Text("Hello, World!")
                Text("Hello, World!")
                Text("Hello, World!")
                Text("Hello, World!")
                Text("Hello, World!")
                Text("Hello, World!")
                Text("Hello, World!")
                Text("Hello, World!")
                Text("Hello, World!")
            }
            .font(.system(size: 70.0))
            Spacer()
            Group {
                Text("Hello, World!")
                Text("Hello, World!")
                Text("Hello, World!")
                Text("Hello, World!")
                Text("Hello, World!")
                Text("Hello, World!")
                Text("Hello, World!")
                Text("Hello, World!")
            }
            .font(.system(size: 70.0))
            Spacer()
        }
        .frame(minHeight: geometry.size.height)
    }
}

自分のSwiftUI勉強時のメモ書きの中にあった。

Discussion