SwiftUI的间距

491 阅读1分钟

在上一个SwiftUI教程中,我提到了如何使用堆栈来安排视图。

VStack {
    Text("Hello World")
    Text("Hello again!")
}

让我们来谈谈间距的问题。

看到两个Text 视图之间如何没有空间了吗?那是因为它是VStack 的默认行为。

VStack 接受了一个 参数。spacing

VStack(spacing: 100) {
    Text("Hello World")
    Text("Hello again!")
}

这使得VStack.中包含的视图之间有一个100点的空间。

你也可以使用一个Spacer 视图。

VStack {
    Text("Hello World")
    Spacer()
    Text("Hello again!")
}

Spacer 尽可能地填满所有可用的空间。

你可以使用frame() 修改器将其限制在一组特定的点上。

VStack {
    Text("Hello World")
    Spacer()
      .frame(height: 20)
    Text("Hello again!")
}