2

Text内にあるビューを構築しようとしていますVStack。をVStack画面の全幅に合わせたいのですが、そのText中の も同じようにしたいと思います。私が知る限り、そのコードは次のようになります。

import SwiftUI

struct Test: View {
    @State private var text = "Hello, World!"

    var body: some View {
        VStack {
            Text(text)
                .frame(maxWidth: .infinity)
                .animation(.default)
            Button(action: {
                self.text = (self.text == "Text") ? "Hello, World!" : "Text"
            }) {
                Text("Toggle")
            }
        }
        .frame(maxWidth: .infinity)
    }
}

struct Test_Previews: PreviewProvider {
    static var previews: some View {
        Test()
    }
}

プレビューを確認してテキストとスタックにカーソルを合わせると、期待どおりのものが表示され、Text全幅です。ただし、アプリを実行してビュー階層をデバッグするとText、テキストに合わせてフレームのサイズが変更されていることがわかります。通常、私はこれを気にしませんが、テキストが長いコピーに変わると、アニメーションに楕円が表示されます。Textコピーに合わせてサイズ変更するのをやめることはできますか?

4

3 に答える 3