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-View Padding

padding 在 UI 元素周围添加额外的空间,使其更具可读性。它是用户界面设计中最常用的工具。它改善了界面的功能和外观。它防止内容显得杂乱,并确保视图上每个 UI 组件之间有明显的区别。

"padding"修饰符

SwiftUI 支持名为 padding() 的内置修饰符用于填充。此修饰符在视图内容周围添加额外的空间。这个额外的空间将内容和视图的边缘分开,使视图更具吸引力和可读性。我们可以将填充均匀地应用于视图的所有侧面或各个边缘。

此修饰符可以带或不带参数使用。如果此修饰符不包含任何参数,它将对视图的所有边缘应用相同数量的填充。

语法

以下是语法 −

.padding(edges, amount)

参数

此方法可以有以下可选参数 −

edge: 用于指定应在哪一侧应用填充。此参数的默认值为 .all。它支持以下选项 −

  • .all:它将相同的填充应用于视图的所有边缘。

  • .top:它仅将填充应用于视图的顶部边缘。

  • .bottom:它仅将填充应用于视图的底部边缘。

  • .trailing:它仅将填充应用于视图的右侧边缘。

  • .leading:它仅将填充应用于视图的左侧边缘。

  • .horizo​​ntal:它将填充应用于视图的顶部和底部边缘。

  • .vertical:它将填充应用于视图的左右边缘。

amount:表示要应用于边缘的填充量。此参数的默认值为 nil。

让我们借助以下示例 − 来理解填充

示例 1

以下 SwiftUI 程序用于统一填充。当我们想要将相同的填充应用于视图的所有侧面时,会使用统一填充。对于统一填充,我们将使用不带任何参数的 padding() 修饰符。

import SwiftUI
struct ContentView: View {
   var body: some View {
     VStack{
       // 无填充
       Rectangle()
         .fill(Color.yellow)
         .frame(width: 300,height: 100, alignment: .center)
         .overlay(Text("TutorialsPoint").bold())       
       // 有填充
       Rectangle()
         .fill(Color.yellow)
         .frame(width: 300,height: 100, alignment: .center)
         .overlay(Text("TutorialsPoint").bold().padding())       
      }     
   }
}
#Preview {
   ContentView()
}

输出

View Padding

示例 2

以下 SwiftUI 程序用于自定义填充值。当我们想要将特定数量的填充均匀地应用于视图的所有侧面时,使用自定义填充。在这里,我们将一个值传递给 padding(30) 修饰符以进行自定义填充。

import SwiftUI

struct ContentView: View {
   var body: some View {
     VStack{
       // 无填充
       Rectangle()
         .fill(Color.yellow)
         .frame(width: 300,height: 100, alignment: .center)
         .overlay(Text("TutorialsPoint").bold())
       
       // 带有自定义填充
       Rectangle()
         .fill(Color.mint)
         .frame(width: 300,height: 100, alignment: .center)
         .overlay(Text("TutorialsPoint").bold().padding(100))       
      }     
   }
}
#Preview {
   ContentView()
}

输出

View Padding

示例 3

以下 SwiftUI 程序用于在特定侧面填充值。在这里,我们通过在 padding 修饰符中传递侧面及其填充长度来在某些特定侧面应用填充。

import SwiftUI

struct ContentView: View {
   var body: some View {
     VStack{
       // 无填充
       Rectangle()
         .fill(Color.yellow)
         .frame(width: 300,height: 100, alignment: .center)
         .overlay(Text("TutorialsPoint").bold())
       
       // 有填充
       Rectangle()
         .fill(Color.mint)
         .frame(width: 300,height: 100, alignment: .center)
         .overlay(Text("TutorialsPoint").bold().padding(.bottom, 50).padding(.leading, 40))       
     }     
   }
}
#Preview {
   ContentView()
}

输出

View Padding

示例 4

以下 SwiftUI 程序用于多边填充。在这里,我们通过在 .padding() 修饰符中传递一个数组来一次在多边应用填充。

import SwiftUI
struct ContentView: View {
   var body: some View {
     VStack{
       // 无填充
       Rectangle()
         .fill(Color.yellow)
         .frame(width: 300,height: 100, alignment: .center)
         .overlay(Text("TutorialsPoint").bold())
       
       // 有填充
       Rectangle()
         .fill(Color.mint)
         .frame(width: 300,height: 100, alignment: .center)
         .overlay(Text("TutorialsPoint").bold().padding([.top,.leading], 50))       
     }     
   }
}
#Preview {
   ContentView()
}

输出

View Padding