XCode 26.4 日本語化計画
元のドキュメント: developer.apple.com/documentation/swiftui/togglestyle
オンとオフの状態間を切り替えるコントロール。
@MainActor @preconcurrency
protocol ToggleStyle
単一の Toggle、またはビュー階層内のすべてのトグルインスタンスのスタイルを構成するには、toggleStyle(_:) 修飾子を使用して下さい。switch や button などの組み込みトグルスタイルの一つを指定できます。
Toggle(isOn: $isFlagged) {
Label("Flag", systemImage: "flag.fill")
}
.toggleStyle(.button)
あるいは、カスタムスタイルを作成して適用することもできます。
カスタムスタイルを作成するには、ToggleStyle プロトコルに準拠する型を宣言し、必要な makeBody(configuration:) メソッドを実装します。たとえば、チェックリストのトグルスタイルを定義できます。
struct ChecklistToggleStyle: ToggleStyle {
func makeBody(configuration: Configuration) -> some View {
// Return a view that has checklist appearance and behavior.
}
}
メソッド内では、ToggleStyleConfiguration 構造体のインスタンスである configuration パラメータを使用して、ラベルとトグル状態への結合を取得します。これらの要素を使用して、トグルのような外観と動作を持つビューを構築する方法の例については、makeBody(configuration:) を参照してください。
新しいスタイルに簡単にアクセスできるようにするには、ToggleStyle の拡張で、対応する静的変数を宣言して下さい。
extension ToggleStyle where Self == ChecklistToggleStyle {
static var checklist: ChecklistToggleStyle { .init() }
}
その後、カスタムスタイルを使用できます。
Toggle(activity.name, isOn: $activity.isComplete)
.toggleStyle(.checklist)
このプロトコルに準拠する型は、その型の基本宣言にこの準拠が含まれている場合、プロトコルから @preconcurrency @MainActor isolation (分離) を継承します。
struct MyCustomType: Transition {
// `@preconcurrency @MainActor` isolation by default
}
main actor (メインアクター) への分離はデフォルトですが、必須ではありません。メインアクターの分離を無効にするには、拡張機能で準拠を宣言してください。
extension MyCustomType: Transition {
// `nonisolated` by default
}
static var automatic: DefaultToggleStyle
デフォルトのトグルスタイル。
static var button: ButtonToggleStyle
ラベルがタイトルとなるボタンとして表示されるトグルスタイル。
static var checkbox: CheckboxToggleStyle
チェックボックスとそれに続くラベルを表示するトグルスタイル。
static var `switch`: SwitchToggleStyle
先頭にラベルとそれに続くスイッチを表示するトグルスタイル。
func makeBody(configuration: Self.Configuration) -> Self.Body
トグルの本体を表すビューを作成します。
必須
struct ToggleStyleConfiguration
トグルインスタンスのプロパティ。
トグルインスタンスのプロパティ。
トグルの外観と操作性を表すビュー。
必須
struct Slider
線形の範囲内の値から値を選択するための制御機能。
struct Stepper
増分および減分動作を実行する制御機能。
func toggleStyle<S>(S) -> some View
ビュー階層内のトグルのスタイルを設定します。