toggleStyle(_:)
声明
func toggleStyle<S>(_ style: S) -> some View where S : ToggleStyle
返回值
为其自身及其子视图使用指定切换样式的视图。
参数
style
要设置的切换样式。使用内置值之一,例如
ToggleStyle/switch
或ToggleStyle/button
,或通过创建符合ToggleStyle
协议的类型定义的自定义样式。
详述
在 Toggle
实例上使用此修饰符来设置定义控件外观和行为的样式。例如,您可以选择ToggleStyle/switch
样式:
Toggle("Vibrate on Ring", isOn: $vibrateOnRing)
.toggleStyle(.switch)
内置样式通常跨平台具有相似的外观,并根据平台的整体样式量身定制:
平台 |
外貌 |
---|---|
iOS、iPadOS | |
macOS |
层次结构中的样式切换
您可以通过将样式修饰符应用于容器视图来为视图层次结构中的所有切换实例设置样式。例如,您可以将 ToggleStyle/button
样式应用于 HStack
:
HStack {
Toggle(isOn: $isFlagged) {
Label("Flag", systemImage: "flag.fill")
}
Toggle(isOn: $isMuted) {
Label("Mute", systemImage: "speaker.slash.fill")
}
}
.toggleStyle(.button)
当 isFlagged
是 true
并且 isMuted
是 false
时,上面的示例具有以下外观:
平台 |
外貌 |
---|---|
iOS、iPadOS | |
macOS |
自动造型
如果您不设置样式,SwiftUI 假定值为 ToggleStyle/automatic
,对应于 context-specific 默认值。显式指定自动样式以覆盖容器的样式并恢复为默认样式:
HStack {
Toggle(isOn: $isShuffling) {
Label("Shuffle", systemImage: "shuffle")
}
Toggle(isOn: $isRepeating) {
Label("Repeat", systemImage: "repeat")
}
Divider()
Toggle("Enhance Sound", isOn: $isEnhanced)
.toggleStyle(.automatic) // Revert to the default style.
}
.toggleStyle(.button) // Use button style for toggles in the stack.
.labelStyle(.iconOnly) // Omit the title from any labels.
SwiftUI 用作默认样式的样式取决于平台和上下文。在 macOS 中,大多数情况下的默认切换样式是 ToggleStyle/checkbox
,而在 iOS 中,默认切换样式是 ToggleStyle/switch
:
平台 |
外貌 |
---|---|
iOS、iPadOS | |
macOS |
有关SwiftUI 如何选择默认切换样式的详细信息,请参阅ToggleStyle/automatic
样式。
可用版本
相关用法
- Swift Never touchBarCustomizationLabel(_:)用法及代码示例
- Swift Never touchBar(content:)用法及代码示例
- Swift Never touchBarItemPrincipal(_:)用法及代码示例
- Swift Never touchBarItemPresence(_:)用法及代码示例
- Swift Never toolbar(id:content:)用法及代码示例
- Swift Never touchBar(_:)用法及代码示例
- Swift Never toolbar(content:)用法及代码示例
- Swift Never task(priority:_:)用法及代码示例
- Swift Never tag(_:)用法及代码示例
- Swift Never transformEffect(_:)用法及代码示例
- Swift Never textSelection(_:)用法及代码示例
- Swift Never task(id:priority:_:)用法及代码示例
- Swift Never transaction(_:)用法及代码示例
- Swift Never truncationMode(_:)用法及代码示例
- Swift Never textInputAutocapitalization(_:)用法及代码示例
- Swift Never textContentType(_:)用法及代码示例
- Swift Never tabItem(_:)用法及代码示例
- Swift Never tint(_:)用法及代码示例
- Swift Never pageCommand(value:in:step:)用法及代码示例
- Swift Never opacity(_:)用法及代码示例
- Swift Never colorMultiply(_:)用法及代码示例
- Swift Never accessibilityAction(action:label:)用法及代码示例
- Swift Never alert(isPresented:error:actions:message:)用法及代码示例
- Swift Never confirmationDialog(_:isPresented:titleVisibility:actions:)用法及代码示例
- Swift Never flipsForRightToLeftLayoutDirection(_:)用法及代码示例
注:本文由纯净天空筛选整理自apple.com大神的英文原创作品 Never toggleStyle(_:)。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。