返回 使用
使用
SwiftUI 循环遍历构建视图
IOS
2023-12-18 07:58:46
SwiftUI:使用循环构建视图
在 SwiftUI 中,您可以使用循环来重复创建多个视图。这对于创建诸如列表、网格和画廊等界面元素非常有用。
创建循环的最简单方法是使用 ForEach
视图。ForEach
视图接受一个数组作为参数,并为数组中的每个元素创建一个子视图。子视图可以是任何类型的视图,包括其他 ForEach
视图。
例如,以下代码使用 ForEach
视图创建一个包含数字 1 到 10 的列表:
struct ContentView: View {
var body: some View {
ForEach(1...10) { number in
Text("\(number)")
}
}
}
当您运行此代码时,您将看到一个垂直排列的数字列表,从 1 到 10。
使用 ForEach
视图的常见用例
ForEach
视图可用于创建各种界面元素,包括:
- 列表
- 网格
- 画廊
- 轮播
- 分页器
您可以使用 ForEach
视图来创建任何需要重复创建多个视图的界面元素。
使用 ForEach
进行动态视图创建
ForEach
视图还可用于创建动态视图。这意味着您可以根据数据或用户交互动态地创建和删除视图。
例如,以下代码使用 ForEach
视图创建一个列表,该列表显示当前日期的下一个 7 天:
struct ContentView: View {
let currentDate = Date()
var body: some View {
ForEach(currentDate...currentDate.addingTimeInterval(60 * 60 * 24 * 7), id: \.self) { date in
Text(date.formatted(date: .abbreviated, time: .omitted))
}
}
}
当您运行此代码时,您将看到一个列表,该列表显示当前日期的下一个 7 天。如果当前日期是 2023 年 3 月 8 日,那么您将看到以下列表:
- 2023 年 3 月 9 日
- 2023 年 3 月 10 日
- 2023 年 3 月 11 日
- 2023 年 3 月 12 日
- 2023 年 3 月 13 日
- 2023 年 3 月 14 日
- 2023 年 3 月 15 日
您可以使用 ForEach
视图创建任何需要动态创建和删除视图的界面元素。