Overview
概要
To configure the style for a single Toggle
or for all toggle instances in a view hierarchy, use the toggleStyle(_:)
modifier. You can specify one of the built-in toggle styles, like switch
or button
:
Toggle(isOn: $isFlagged) {
Label("Flag", systemImage: "flag.fill")
}
.toggleStyle(.button)
Alternatively, you can create and apply a custom style.
Custom Styles
To create a custom style, declare a type that conforms to the ToggleStyle
protocol and implement the required makeBody(configuration:)
method. For example, you can define a checklist toggle style:
struct ChecklistToggleStyle: ToggleStyle {
func makeBody(configuration: Configuration) -> some View {
}
}
Inside the method, use the configuration
parameter, which is an instance of the ToggleStyleConfiguration
structure, to get the label and a binding to the toggle state. To see examples of how to use these items to construct a view that has the appearance and behavior of a toggle, see makeBody(configuration:)
.
To provide easy access to the new style, declare a corresponding static variable in an extension to ToggleStyle
:
extension ToggleStyle where Self == ChecklistToggleStyle {
static var checklist: ChecklistToggleStyle { .init() }
}
You can then use your custom style:
Toggle(activity.name, isOn: $activity.isComplete)
.toggleStyle(.checklist)