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()
}

输出

View Spacing

示例 2

以下 SwiftUI 程序在给定视图之间添加空格。

import SwiftUI
struct ContentView: View {   
   var body: some View {
     VStack{
       Text("Hello").font(.title2)
       Text("TutorialsPoint").font(.title2)
     }
     
     // Spacer() method outside Stack layout
     Spacer()
     VStack{
       Text("Hello").font(.title2)
       Text("TutorialsPoint").font(.title2)
     }
   }
}
#Preview {
   ContentView()
}

输出

View Spacing

SwiftUI 中的 Spacing 属性

我们还可以借助堆叠布局的 spacing 属性来调整视图的间距。此属性仅在堆叠布局内有效。它可以与所有三个堆叠一起使用,包括 VStack、ZStack 和 HStack。

语法

以下是语法:

VStack(spacing:value){
   //code
}

示例

以下 SwiftUI 程序使用 spacing 属性在给定视图之间添加空格。

import SwiftUI
struct ContentView: View {
   var body: some View {     
     // Stack without spacing parameter
     VStack(){
       Text("Hello").font(.title2)
       Text("TutorialsPoint").font(.title2)
     }     
     // Stack with spacing parameter
     VStack(spacing:40){
       Text("Hello").font(.title2)
       Text("TutorialsPoint").font(.title2)
      }
   }
}
#Preview {
   ContentView()
}

输出

View Spacing
广告