- SwiftUI 教程
- SwiftUI - 首页
- SwiftUI - 概述
- SwiftUI vs 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 - 模糊效果
- 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 - 讨论
SwiftUI - 基本组件
SwiftUI 是 Apple 的框架,旨在用更少的代码和更好的性能为 Apple 的所有平台(包括 iOS、macOS、watchOS、tvOS、visionOS 等)创建简单和复杂的界面。
它使用声明式语法,这意味着我们只需要描述用户界面应该是什么样子以及它的行为方式,SwiftUI 会完成其余的实现工作。为了创建一个丰富而动态的应用程序,SwiftUI 提供了以下基本组件:
视图
容器和布局
修饰符
状态和数据绑定
导航
手势
现在,让我们详细讨论每个组件:
SwiftUI 中的视图
视图是开发用户界面的基本构建块。或者我们可以说它是用户界面的一部分,开发人员可以在其中定义界面的布局和外观。应用程序中用户可见的每一部分都源自开发人员在视图中给出的描述。任何符合 View 协议的类型都充当视图。
| 名称 | 描述 | 语法 |
|---|---|---|
| 文本 | 用于显示文本。 | Text("Hello TutorialsPoint") |
| 图像 | 用于显示图像。 | Image(systemName: "rectangle") |
| 按钮 | 用于创建一个可点击的按钮 | Button(action: { print("Tapped button") }) { Text("Button") } |
| 文本字段 | 用于显示文本字段或创建可编辑的文本界面。 | @State private var age: String = "" TextField("Enter your age", text: $age) |
容器和布局
布局和容器是控制子视图排列方式的结构。一些常用的容器和布局如下:
| 名称 | 描述 | 语法 |
|---|---|---|
| VStack | 用于垂直堆叠子视图。 | VStack { Text("Hello") Text("TutorialsPoint") } |
| HStack | 用于水平堆叠子视图。 | HStack { Text("Hello") Text("TutorialsPoint") } |
| ZStack | 用于将子视图重叠。 | ZStack { Rectangle().fill(Color.mint) Text("TutorialsPoint") } |
| 列表 | 用于显示可滚动的列表数据。 | List { Text("Hello") Text("TutorialsPoint") } |
| 表单 | 用于对数据输入控件进行分组。 | Form { Toggle("Notification", isOn:$isOn) Toggle("Sliding Bar", isOn:$isOn) } |
SwiftUI 中的修饰符
SwiftUI 中的修饰符是用于更改视图外观或行为的方法。我们可以按顺序在一个组件上应用多个修饰符。使用它们,我们可以创建简单和复杂的图案。一些常用的修饰符如下:
| 名称 | 描述 | 语法 |
|---|---|---|
| padding | 用于在视图周围添加填充。 | .padding() |
| background | 用于设置视图的背景。 | .background() |
| foregroundColor | 用于设置文本或图像的颜色。 | .foregroundColor() |
| fill | 用于设置形状的颜色。 | .fill() |
| font | 用于更改文本的字体。 | .font() |
| frame | 用于设置框架的大小。 | .frame() |
状态和数据绑定
状态和数据绑定用于管理和传播整个应用程序的数据。状态用于管理视图的状态。每当状态更新为新值时,SwiftUI 会根据新状态自动更新视图。
而绑定用于在 UI 组件及其底层数据模型之间创建关系。它使用双向通信。以下是一些常用的状态和数据绑定对象:
| 名称 | 描述 | 语法 |
|---|---|---|
| @State | 这是一个属性包装器,用于管理视图内部的状态 | @State private var myState:Bool = false |
| @Binding | 用于创建与父视图中 @state 属性的双向连接。 | @Binding var myState:Bool = false |
| @ObservedObject | 用于在复杂数据模型中观察外部可观察视图。 | @ObservedObject var myData = MyObservableObject() |
| @EnvironmentObject | 用于在 SwiftUI 层次结构中的所有视图之间共享数据。 | @EnvironmentObject var myData : MyObservableObject |
SwiftUI 中的导航
导航是创建用户界面的过程,它允许用户在应用程序中从一个视图移动到另一个视图或屏幕。SwiftUI 提供了各种用于实现导航的工具,一些常用组件如下:
| 名称 | 描述 | 语法 |
|---|---|---|
| NavigationLink | 用于控制导航呈现。 | 32 |
| Sheet | 用于显示模态视图。 | .sheet(isPresented:) |
SwiftUI 中的手势
手势用于向视图添加交互功能。它们允许用户使用点击、拖动、滑动、旋转等与应用程序交互。SwiftUI 支持各种内置手势,您可以使用手势修饰符在视图中使用它们。一些常用的手势如下:
| 名称 | 描述 | 语法 |
|---|---|---|
| TapGesture | 用于检测视图上的点击。 | .onTapGesture() |
| DragGesture | 用于检测视图上的拖动动作。 | DragGesture() |
| SpatialTapGesture | 用于识别一个或多个点击并报告其位置。 | SpatialTapGesture() |
广告