7 控件与指示器
3 分钟阅读
原文链接: https://developer.apple.com/documentation/swiftui/controls-and-indicators
7 控件与指示器
显示数值并获取用户的选择。
概述
SwiftUI 提供的控件让交互能够贴合各个平台和上下文的特点。例如,人们可以用按钮和链接触发事件,或者用不同种类的选择器在一组离散值中做选择。你也可以用进度视图和量表这类指示器向用户显示信息。

在组合自定义视图时使用这些内置控件与指示器,并为它们设置样式,以符合应用界面的需要。关于设计指导,参见 Human Interface Guidelines 中的菜单与操作、选择与输入和状态。
创建按钮
- Button —— 触发动作的控件。
- buttonStyle(_:) —— 把该视图内按钮的样式设置为一种带自定义外观和标准交互行为的按钮样式。
- buttonBorderShape(_:) —— 设置该视图中按钮的边框形状。
- ButtonBorderShape —— 用于绘制按钮边框的形状。
- buttonRepeatBehavior(_:) —— 设置该视图中的按钮在长时间交互时是否应重复触发其动作。
- ButtonRepeatBehavior —— 控制按钮动作是否可重复的选项。
- buttonRepeatBehavior —— 该环境中的按钮在长时间交互时是否应重复触发其动作。
- buttonSizing(_:) —— 视图层级中按钮偏好的尺寸调整行为。
- ButtonSizing ——
Button以及其他类按钮控件的尺寸调整行为。 - ButtonRole —— 描述按钮用途的值。
创建专用按钮
- EditButton —— 切换编辑模式环境值的按钮。
- PasteButton —— 从剪贴板读取条目并交给闭包的系统按钮。
- RenameButton —— 触发标准重命名操作的按钮。
链接到其他内容
- Link —— 导航到 URL 的控件。
- ShareLink —— 控制分享呈现的视图。
- SharePreview —— 在分享预览中显示的类型表示。
- TextFieldLink —— 按下时请求用户输入文本的控件。
- HelpLink —— 具有标准外观、打开应用专属帮助文档的按钮。
获取数值输入
- Slider —— 在有限线性取值范围内选择值的控件。
- Stepper —— 执行递增和递减动作的控件。
- Toggle —— 在开与关两种状态之间切换的控件。
- toggleStyle(_:) —— 设置视图层级中开关的样式。
从一组选项中做选择
- Picker —— 从一组互斥值中选择的控件。
- pickerStyle(_:) —— 设置该视图内选择器的样式。
- horizontalRadioGroupLayout() —— 把该视图内单选组样式的选择器设置为水平排布,单选按钮位于布局内部。
- defaultWheelPickerItemHeight(_:) —— 设置滚轮式选择器条目的默认高度。
- defaultWheelPickerItemHeight —— 滚轮式选择器(例如日期选择器)中条目的默认高度。
- paletteSelectionEffect(_:) —— 指定应用到调色板条目的选中效果。
- PaletteSelectionEffect —— 要应用到调色板条目的选中效果。
选择日期
- DatePicker —— 选择绝对日期的控件。
- datePickerStyle(_:) —— 设置该视图内日期选择器的样式。
- MultiDatePicker —— 选取多个日期的控件。
- calendar —— 视图在处理日期时应当使用的当前日历。
- timeZone —— 视图在处理日期时应当使用的当前时区。
选择颜色
- ColorPicker —— 使用系统颜色选择器界面选取颜色的控件。
指示某个值
- Gauge —— 在某个范围内显示数值的视图。
- gaugeStyle(_:) —— 设置该视图内量表的样式。
- ProgressView —— 显示任务完成进度的视图。
- progressViewStyle(_:) —— 设置该视图中进度视图的样式。
- DefaultDateProgressLabel —— 与日期相关的进度视图所使用的当前值标签的默认类型。
- DefaultButtonLabel —— 按钮使用的默认标签。
指示内容缺失
- ContentUnavailableView —— 由标签和附加内容构成、在应用内容对用户不可用时显示的界面。
提供触觉反馈
- sensoryFeedback(_:trigger:) —— 当提供的
trigger值变化时播放指定的feedback。 - sensoryFeedback(trigger:_:) —— 当提供的
trigger值变化后,从feedback闭包返回时播放反馈。 - sensoryFeedback(_:trigger:condition:) —— 当提供的
trigger值变化、且condition闭包返回true时,播放指定的feedback。 - SensoryFeedback —— 表示可以播放的一类触觉和/或音频反馈。
设置控件尺寸
- controlSize(_:) —— 设置该视图内控件的尺寸。
- controlSize —— 要应用到视图内控件的尺寸。
- ControlSize —— 可以应用到视图内控件的尺寸类别,例如常规或小号。