SwiftUI - 视图间距
间距是 SwiftUI 最重要的功能,它允许用户调整视图之间的间距。它增强了视图的外观并使其更具可读性。我们可以通过默认值或自定义调整来控制间距。在 SwiftUI 中,我们可以使用以下方法管理间距 −
spacer() 方法
spacing 属性
SwiftUI 中的 Spacer() 方法
Spacer() 方法用于在给定视图之间创建空间。与其他间距方法相比,它提供最大的空间。它通常用于堆栈布局,但我们可以在堆栈布局之外使用它。如果在堆栈布局中使用,则它会沿其包含堆栈的轴扩展。
假设它存在于 HStack 中,则它会沿 X 轴扩展。如果它存在于堆栈布局之外,则它会在所有轴上扩展。我们可以在同一个布局中使用多个 spacer()。
语法
以下是语法 −
Spacer(minLength:CGFloat?)
它只能接受一个可选参数,即 minLength。它表示 Spacer 将给定视图之间的空间缩小到的最小长度。
示例 1
以下 SwiftUI 程序在给定视图之间添加空间。
import SwiftUI
struct ContentView: View {
var body: some View {
VStack{
HStack{
// Without Spacer
Text("Hello").font(.title2)
Text("TutorialsPoint").font(.title2)
}
HStack{
// With Spacer
Text("Hello").font(.title2)
Spacer()
Text("TutorialsPoint").font(.title2)
}
}
}
}
#Preview {
ContentView()
}
输出
示例 2
以下 SwiftUI 程序在给定视图之间添加空间。
import SwiftUI
struct ContentView: View {
var body: some View {
VStack{
Text("Hello").font(.title2)
Text("TutorialsPoint").font(.title2)
}
// Stack 布局之外的 Spacer() 方法
Spacer()
VStack{
Text("Hello").font(.title2)
Text("TutorialsPoint").font(.title2)
}
}
}
#Preview {
ContentView()
}
输出
SwiftUI 中的 Spacing 属性
我们还可以借助 Stack 布局的 Spacing 属性来调整视图的间距。此属性仅在堆栈布局中有效。它可以与包括 VStack、ZStack 和 HStack 在内的所有三个堆栈一起使用。
语法
以下是语法 −
VStack(spacing:value){
//code
}
示例
以下 SwiftUI 程序使用间距属性在给定视图之间添加空间。
import SwiftUI
struct ContentView: View {
var body: some View {
// 无间距参数的堆叠
VStack(){
Text("Hello").font(.title2)
Text("TutorialsPoint").font(.title2)
}
// 带间距参数的堆叠
VStack(spacing:40){
Text("Hello").font(.title2)
Text("TutorialsPoint").font(.title2)
}
}
}
#Preview {
ContentView()
}
输出

