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
コピーに合わせてサイズ変更するのをやめることはできますか?