0

私は2つ持ってTextVStackます。どちらのテキストも無制限に行数を増やすことができます。テキストが画面よりも大きくなった場合は、スクロールしてすべてのコンテンツを表示できるようにしたいと考えています。

Mi 最初のアプローチ:

var body: some View {
    VStack(alignment: .center, spacing: 0) {

        VStack(alignment: .leading, spacing: 8) {
            Text(title)
                .font(.title)
            Text(subtitle)
                .font(.subheadline)
        }
            .frame(maxWidth: .infinity)
            .background(Color.orange)
            .padding(.top, 24)
            .padding(.horizontal, 24)

        Button(buttonTitle) { }
            .frame(maxWidth: .infinity, minHeight: 50)
            .background(Color.red)
            .foregroundColor(.white)
            .padding(.all, 24)

    }.background(Color.gray)
        .frame(maxWidth: UIScreen.main.bounds.size.width - 20)
}

結果:

ここに画像の説明を入力

もちろんスクロールはありません...だから私はScrollViewを追加しました:

var body: some View {
    VStack(alignment: .center, spacing: 0) {

        ScrollView {
            VStack(alignment: .leading, spacing: 8) {
                Text(title)
                    .font(.title)
                Text(subtitle)
                    .font(.subheadline)
            }
                .frame(maxWidth: .infinity)
                .background(Color.orange)
                .padding(.top, 24)
                .padding(.horizontal, 24)
        }

        Button(buttonTitle) { }
            .frame(maxWidth: .infinity, minHeight: 50)
            .background(Color.red)
            .foregroundColor(.white)
            .padding(.all, 24)

    }.background(Color.gray)
        .frame(maxWidth: UIScreen.main.bounds.size.width - 20)
}

結果:

ここに画像の説明を入力

できます!しかし、テキストが画面の高さ全体を埋めるのに十分でない場合ScrollViewでも、利用可能なスペース全体に拡大され、コンテンツをラップしてスクロール機能を「無効」にしたいと考えています。

少量のテキストで得られるもののサンプル:

ここに画像の説明を入力

少量のテキストで取得したいもののサンプル:

ここに画像の説明を入力

ScrollView問題は、親の高さ全体に拡張するのではなく、コンテンツを「ラップ」するようにするにはどうすればよいViewですか?

4

0 に答える 0