- 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 对表单提供了良好的支持。表单是用于在结构化界面中存储用户输入的容器。它们通常用于修改输入或数据的地方,例如联系人列表、设置等。就像列表一样,它也以垂直可滚动的列显示数据。因此,在本章中,我们将学习如何创建表单、自定义表单以及更多关于表单的内容。
在 SwiftUI 中创建表单
在 SwiftUI 中,我们可以借助 Form 组件创建表单。此组件包装用于数据输入的所有控件,例如文本字段、切换按钮、选择器等。通过这些控件,我们可以在表单中添加数据。它以垂直滚动列表显示数据。
语法
以下是语法:
Form{
// Form Content
}
示例
以下 SwiftUI 程序创建了一个简单的表单。
import SwiftUI
struct ContentView: View {
var body: some View {
Form{
Text("Name")
Text("Email")
Text("Date")
}
}
}
#Preview {
ContentView()
}
输出
在 SwiftUI 中的表单中添加控件
为了使表单更具吸引力和用户友好性,我们可以在其中添加多个预定义控件。它们增强了表单的外观,并允许用户根据自己的需求输入数据。在表单中,您可以使用以下控件输入数据:
| 控件 | 语法 | 描述 |
|---|---|---|
| TextField | TextField("标签", text: Binding<String>) | 它用于创建一个文本字段,用户可以在其中输入字符串。 |
| TextEditor | TextEditor(text: Binding<String>) | 它用于插入文本编辑器。文本编辑器用于在表单中插入长文本,例如摘要、描述、消息等。 |
| Toggle | Toggle(isOn: Binding<String>) | 它用于创建一个切换按钮,或者我们可以说它用于创建一个开/关按钮。它始终表示布尔值,即真或假。 |
| Button | Button("标签", action:) | 它用于创建一个按钮。 |
| Pickers | Picker("标签", selection:Binding<String>) | 它用于创建一个列表,从中我们可以选择项目。 |
示例
以下 SwiftUI 程序用于在表单中添加控件:
import SwiftUI
struct ContentView: View {
@State private var name: String = ""
@State private var email: String = ""
@State private var about: String = "Write about yourself..."
@State private var notification = false
@State private var city: String = "Delhi"
var body: some View {
Form{
TextField("Enter Name", text: $name)
TextField("Enter Email", text: $email)
TextEditor(text: $about)
Toggle("Notification", isOn: $notification)
Picker("City", selection:$city){
ForEach(["Delhi", "Mumbai", "Pune", "Kolkata"], id: \.self){
s in Text(s)
}
}
Button("Submit", action:{
print("Submitted")
})
}
}
}
#Preview {
ContentView()
}
输出
在 SwiftUI 中的表单中添加导航标题
每个表单、列表或表格都需要一个合适的标题来识别它们。因此,在表单中,我们可以借助 NavigationStack 设置标题。NavigationStack 结构围绕 Form 组件进行包装,并提供 navigationTitle() 修饰符,允许我们设置表单的标题。尽管我们也可以使用 VStack 和 Text 设置表单的标题,但 NavigationStack 仍然是创建标题并为表单提供其他功能的最有效和直接的方法。
语法
以下是语法:
NavigationStack{
Form{
// Form Content
}
}.navigationTitle("Form Title")
示例
以下 SwiftUI 程序用于使用 NaivationStack 插入表单标题。
import SwiftUI
struct ContentView: View {
@State private var name: String = ""
@State private var email: String = ""
@State private var about: String = "Write about yourself..."
@State private var notification = false
@State private var city: String = "Delhi"
var body: some View {
NavigationStack{
Form{
TextField("Enter Name", text: $name)
TextField("Enter Email", text: $email)
TextEditor(text: $about)
Toggle("Notification", isOn: $notification)
Picker("City", selection:$city){
ForEach(["Delhi", "Mumbai", "Pune", "Kolkata"], id: \.self){
s in Text(s)
}
}
Button("Submit", action:{
print("Submitted")
})
}.navigationTitle("Employee Data")
}
}
}
#Preview {
ContentView()
}
输出
在 SwiftUI 中设置表单样式
SwiftUI 允许我们借助 formStyle() 修饰符设置表单的样式。此修饰符以三种不同的模式更改表单的外观和行为:自动、分组和列。我们可以根据需要选择任何一种模式。
语法
以下是语法:
func formStyle<S>(_ style: S) -> some View where S : FormStyle
它只接受一个参数,即我们要应用的样式,预定义的样式如下:
自动:它应用默认的系统表单样式。
列:它创建一个非滚动表单,其尾随对齐的标签列位于其值的领先对齐列旁边。
分组:它创建表单行的组。
示例
以下 SwiftUI 程序用于使用 formStyle() 修饰符设置表单的样式。
import SwiftUI
struct ContentView: View {
@State private var name: String = ""
@State private var email: String = ""
@State private var about: String = "Write about yourself..."
@State private var notification = false
@State private var city: String = "Delhi"
var body: some View {
NavigationStack{
Form{
TextField("Enter Name", text: $name)
TextField("Enter Email", text: $email)
TextEditor(text: $about)
Toggle("Notification", isOn: $notification)
Picker("City", selection:$city){
ForEach(["Delhi", "Mumbai", "Pune", "Kolkata"], id: \.self){
s in Text(s)
}
}
Button("Submit", action:{
print("Submitted")
})
}.navigationTitle("Employee Data").formStyle(.automatic)
}
}
}
#Preview {
ContentView()
}
输出