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(_:)。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。