SwiftUI 教程

SwiftUI - 主页 SwiftUI - 概览 SwiftUI 与 UIkit

SwiftUI 环境

SwiftUI - 环境设置 SwiftUI - 基本组件 SwiftUI - 构建第一个应用程序

SwiftUI 视图

SwiftUI - 视图 SwiftUI - 自定义文本视图 SwiftUI - 自定义图像视图 SwiftUI - 堆栈

SwiftUI 绘制形状

SwiftUI - 形状 SwiftUI - 绘制线条 SwiftUI - 绘制矩形 SwiftUI - 绘制圆角矩形 SwiftUI - 绘制三角形 SwiftUI - 绘制圆形 SwiftUI - 绘制星形 SwiftUI - 绘制多边形 SwiftUI - 绘制饼图 SwiftUI - 使用内置形状

SwiftUI - 文本

SwiftUI - 文本视图 SwiftUI - 文本输入和输出

SwiftUI - 颜色

SwiftUI - 颜色 SwiftUI - 颜色选择器 SwiftUI - 渐变 SwiftUI - 调整颜色

SwiftUI - 效果

SwiftUI - 效果 SwiftUI - 混合效果 SwiftUI - BLur 效果 SwiftUI - 阴影效果 SwiftUI - 悬停效果

SwiftUI - 动画

SwiftUI - 动画 SwiftUI - 创建动画 SwiftUI - 创建显式动画 SwiftUI - 多个动画 SwiftUI - 过渡 SwiftUI - 不对称过渡 SwiftUI - 自定义过渡

SwiftUI - 图像

SwiftUI - 图像 SwiftUI - 图像作为背景 SwiftUI - 旋转图像 SwiftUI - 媒体

SwiftUI - 视图布局

SwiftUI - 视图布局 SwiftUI - 视图大小 SwiftUI - 视图间距 SwiftUI - 视图填充

SwiftUI - UI 控件

SwiftUI - UI 控件 SwiftUI - 按钮 SwiftUI - 复选框 SwiftUI - 菜单栏 SwiftUI - 工具栏 SwiftUI - 搜索栏 SwiftUI - 文本字段 SwiftUI - 滑块 SwiftUI - 切换 SwiftUI - 选择器 SwiftUI - 菜单

SwiftUI - 列表 &表格

SwiftUI - 列表 SwiftUI - 静态列表 SwiftUI - 动态列表 SwiftUI - 自定义列表 SwiftUI - 表格

SwiftUI - 表单

SwiftUI - 表单 SwiftUI - 在部分中拆分表单

SwiftUI - 事件处理

SwiftUI - 事件处理 SwiftUI - 手势 SwiftUI - 剪贴板 SwiftUI - 拖放 SwiftUI - 焦点 SwiftUI - 警报

SwiftUI - 杂项

SwiftUI - 容器 SwiftUI - 导航 SwiftUI - 通知 SwiftUI - 跨平台 UI SwiftUI - 数据 SwiftUI - 可访问性

SwiftUI - 框架集成

SwiftUI - 框架集成 SwiftUI - 与 UIKit 交互 SwiftUI - 创建 macOS 应用

SwiftUI 有用资源

SwiftUI - 有用资源 SwiftUI - 讨论


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)
     }
     
     // Stack 布局之外的 Spacer() 方法
     Spacer()
     VStack{
       Text("Hello").font(.title2)
       Text("TutorialsPoint").font(.title2)
     }
   }
}
#Preview {
   ContentView()
}

输出

View Spacing

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

输出

视图间距