元のドキュメント: developer.apple.com/documentation/swiftui/togglestyle/automatic


型プロパティ


automatic


デフォルトのトグルスタイル。


iOS 13.0+ iPadOS 13.0+ Mac Catalyst 13.0+ macOS 10.15+

tvOS 13.0+ visionOS 1.0+ watchOS 6.0+

@MainActor @preconcurrency
static var automatic: DefaultToggleStyle { get }

SelfDefaultToggleStyle の時利用可能です。





議論


この ToggleStyle を使用すると、SwiftUI が現在のプラットフォームとコンテキストに適したスタイルを選択できます。トグルはデフォルトでは automatic スタイルを使用しますが、環境内の別のスタイルを上書きするには、toggleStyle(_:) 修飾子を使用して明示的に設定する必要があります。たとえば、Button スタイルを使用するように構成されている HStack 内のトグルに対して、automatic スタイルを要求することができます。


HStack {
    Toggle(isOn: $isShuffling) {
        Label("Shuffle", systemImage: "shuffle")
    }
    Toggle(isOn: $isRepeating) {
        Label("Repeat", systemImage: "repeat")
    }

    Divider()

    Toggle("Enhance Sound", isOn: $isEnhanced)
        .toggleStyle(.automatic) // Set the style automatically here.
}
.toggleStyle(.button) // Use button style for toggles in the stack.

プラットフォームのデフォルト


automatic スタイルはプラットフォームによって異なる外観を生成しますが、ほとんどの場合、以下のスタイルが使用されます。


プラットフォームデフォルトのスタイル
iOS,iPadOSswitch
macOScheckbox
tvOSswitch
watchOSswitch

tvOS のデフォルトスタイルはボタンのように動作します。ただし、他のプラットフォームの switch スタイルとは異なり、tvOS のトグルはその親要素が提供する水平方向のスペースをすべて占有し、トグルのラベルとトグルの状態を示すテキストフィールドの両方を表示します。通常、tvOS のトグルは List にまとめます。


List {
    Toggle("Show Lyrics", isOn: $isShowingLyrics)
    Toggle("Shuffle", isOn: $isShuffling)
    Toggle("Repeat", isOn: $isRepeating)
}



コンテキストに応じたデフォルト


トグルの automatic の表示は、文脈によって異なります。


  • ツールバー修飾子の一つ (例:toolbar(content:)) に提供するコンテンツの一部として表示されるトグルは、デフォルトで button のスタイルを使用します。

  • Menu 内のトグルは、明示的には作成できないスタイルを使用します。


  • Menu("Playback") {
        Toggle("Show Lyrics", isOn: $isShowingLyrics)
        Toggle("Shuffle", isOn: $isShuffling)
        Toggle("Repeat", isOn: $isRepeating)
    }
    

    SwiftUI では、トグルのラベルにチェックマークが表示されますが、これはオンの状態の場合にのみ表示されます。


    プラットフォームデフォルトのスタイル
    iOS,iPadOS
    macOS




    以下も見よ


    組み込みのトグルスタイルを取得する


    static var button: ButtonToggleStyle

    ラベルがタイトルとなるボタンとして表示されるトグルスタイル。


    static var checkbox: CheckboxToggleStyle

    チェックボックスとそれに続くラベルを表示するトグルスタイル。


    static var `switch`: SwitchToggleStyle

    先頭にラベルとそれに続くスイッチを表示するトグルスタイル。














    トップへ












    トップへ












    トップへ












    トップへ












    トップへ












    トップへ












    トップへ












    トップへ












    トップへ












    トップへ












    トップへ












    トップへ












    トップへ












    トップへ












    トップへ












    トップへ












    トップへ












    トップへ