XCode 26.4 日本語化計画
元のドキュメント: developer.apple.com/documentation/swiftui/view/togglestyle(_:)
ビュー階層内のトグルのスタイルを設定します。
nonisolated func toggleStyle<S>(_ style: S) -> some View where S : ToggleStyle
style
設定すべきトグルスタイル。switch や button などの組み込み値を使用するか、ToggleStyle プロトコルに準拠する型を作成して定義するカスタムスタイルを使用して下さい。
指定されたトグルスタイルをそれ自身およびその子ビューに使用するビュー。
Toggle インスタンスにこの修飾子を使用すると、コントロールの外観と動作を定義するスタイルを設定できます。たとえば、switch のスタイルを選択できます。
Toggle("Vibrate on Ring", isOn: $vibrateOnRing)
.toggleStyle(.switch)
組み込みスタイルは通常、プラットフォームの全体的なスタイルに合わせて調整されており、プラットフォーム間で同様の外観を持ちます。
| プラットフォーム | 外観 |
| iOS,iPadOS | ![]() |
| macOS | ![]() |
ビュー階層内のすべてのトグルインスタンスにスタイルを設定するには、コンテナビューにスタイル修飾子を適用します。たとえば、HStack に button のスタイルを適用できます。
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 は automatic という値を使用します。これはコンテキスト固有のデフォルト値に対応します。コンテナのスタイルを上書きしてデフォルト値に戻すには、automatic スタイルを明示的に指定して下さい。
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 では、ほとんどのコンテキストでデフォルトは checkbox ですが、iOS では、デフォルトのトグルスタイルは switch です。
| プラットフォーム | 外観 |
| iOS,iPadOS | ![]() |
| macOS | ![]() |
SwiftUI がデフォルトのトグルスタイルを選択する方法の詳細については、automatic スタイルを参照してください。
struct Slider
線形の範囲内の値から値を選択するための制御機能。
struct Stepper
増分および減分動作を実行する制御機能。
struct Toggle
オンとオフの状態を切り替えるコントロール。