RadioGroup
@MainActor
public struct RadioGroup<T> : View where T : Hashable
A vertically stacked group of radio buttons bound to a single selection.
RadioGroup allows presenting multiple options where only one can be selected at a time.
It supports both simple String labels or custom label views.
RadioGroup(selection: $selectedOption, options: MyEnum.allCases) { option in
Text(option.rawValue)
}
-
Creates a
RadioGroupwith string-based labels.Declaration
Swift
@MainActor public init( selection: Binding<T>, options: [T], labelPosition: HorizontalPosition = .trailing, labelProvider: @escaping (T) -> String )Parameters
selectionBinding to the selected value.
optionsArray of options to display.
labelPositionPosition of label relative to radio (default is
.trailing).labelProviderClosure that returns a
Stringfor each option. -
Creates a
RadioGroupwith custom SwiftUI label views.Declaration
Swift
@MainActor public init<Label: View>( selection: Binding<T>, options: [T], labelPosition: HorizontalPosition = .trailing, @ViewBuilder labelProvider: @escaping (T) -> Label )Parameters
selectionBinding to the selected value.
optionsArray of options to display.
labelPositionPosition of label relative to radio (default is
.leading).labelProviderView builder closure that returns a view for each option.
-
The view body that renders all radio buttons in a vertical layout.
Declaration
Swift
@MainActor public var body: some View { get }