Avatar ·

如何在SwiftUI中让VStack占据屏幕全宽

大家好!我是SwiftUI新手,已经好几天在为一个看似简单的任务而苦恼。我需要让VStack拉伸到屏幕的全宽,但默认情况下它会根据内容大小调整自身。 这是我的代码: ```swift struct ContentView: View { var body: some View { VStack { Text("Привет, мир!") .font(.largeTitle) Text("这是VStack内的文本") .font(.body) } .background(Color.blue) } } ``` 我原本期望蓝色背景能填满整个屏幕宽度,但VStack只包裹了文本。我尝试添加`.frame(maxWidth: .infinity)`,但没有效果——背景仍然很窄。 我还尝试将VStack包裹在ZStack或HStack中,但没有任何变化。在UIKit中,我只需设置leading/trailing约束,但这里完全不同。 请告诉我如何让VStack扩展到所有可用宽度?最好附带解释。