我有一个简单的VStack,顶部有一个视图,底部有一个多行文本。文本可以更新它的内容,因此它调整大小取决于它有多少行。当这种情况发生时,顶部的视图也会调整其位置--向上或向下移动。
我希望顶部视图保持一个固定的垂直位置,独立于VStack中的视图。在我看来,这就是Spacer的用途,因为它们是灵活的。但这并没有达到诀窍。
struct ContentView: View {
var body: some View {
VStack {
HStack("Some Icons")
Spacer()
Text("Multiline Text")
}
}
}发布于 2020-08-03 11:28:23
您可以将其包装在ZStack中。
struct ContentView: View {
var body: some View {
ZStack {
VStack {
Text("top view")
Spacer()
}
VStack {
Spacer()
Text("bottom view")
}
}
}
}这样,第一个VStack中的所有内容都不会相对于第二个VStack移动。
或者,您可以继续使用VStack,但将其子视图封装在单独的VStack中:
struct ContentView: View {
var body: some View {
VStack {
VStack {
Text("top view")
Spacer()
}
VStack {
Spacer()
Text("bottom view")
}
}
}
}https://stackoverflow.com/questions/63228534
复制相似问题