6 视图分组
2 分钟阅读
原文链接: https://developer.apple.com/documentation/swiftui/view-groupings
6 视图分组
用表单、控件组等不同用途驱动的容器来呈现视图。
概述
你可以创建服务于不同目的的视图组。

例如,Group 构造会把指定的视图当作一个整体来处理,而不附加任何额外的布局或外观特征。Form 则以适合收集用户输入的平台特有外观呈现一组元素。
关于设计指导,请参阅 Human Interface Guidelines 中的 布局。
把视图分组到容器中
- 创建自定义容器视图 — 访问各个子视图,以组合出灵活的容器视图。
- Group — 一种把内容类型的多个实例(例如视图、场景或命令)汇集为单个单位的类型。
- GroupElementsOfContent — 把给定视图的子视图转换为结果内容视图。
- GroupSectionsOfContent — 把给定视图的区段转换为结果内容视图。
把视图组织成区段
- Section — 一种可以用来在特定视图内添加层级的容器视图。
- SectionCollection — 一种不透明集合,表示视图的各个区段。
- SectionConfiguration — 指定某个区段的内容。
遍历动态数据
- ForEach — 一种根据底层可标识数据集合按需计算视图的结构。
- ForEachSectionCollection — 一种集合,允许在 for-each 循环中把视图当作其区段集合来处理。
- ForEachSubviewCollection — 一种集合,允许在 for-each 循环中把视图当作其子视图集合来处理。
- DynamicViewContent — 一种根据底层数据集合生成视图的视图类型。
访问容器的子视图
- Subview — 表示另一个视图的子视图的不透明值。
- SubviewsCollection — 一种不透明集合,表示视图的各个子视图。
- SubviewsCollectionSlice — SubviewsCollection 的一个切片。
- containerValue(::) — 设置视图的某个特定容器值。
- ContainerValues — 与给定视图关联的一组容器值。
- ContainerValueKey — 用于访问容器值的键。
把视图分组到框中
- GroupBox — 一种带可选标签的样式化视图,以视觉方式汇集一组逻辑上相关的内容。
- groupBoxStyle(_:) — 设置该视图内分组框的样式。
对输入分组
- Form — 一种用于对数据录入控件(例如设置或检查器中的控件)分组的容器。
- formStyle(_:) — 设置视图层级中表单的样式。
- LabeledContent — 一种用于把标签附加到承载值的视图上的容器。
- labeledContentStyle(_:) — 为带标签的内容设置样式。
呈现一组控件
- ControlGroup — 一种容器视图,以适合当前上下文的视觉方式显示语义上相关的控件。
- controlGroupStyle(_:) — 设置该视图内控件组的样式。