Switches between a few options or views, like tabs, with SwiftUI's native segmented picker.
Usage
A Picker with the .segmented style already brings selection, animation, keyboard and VoiceOver support, and its system appearance, so use it directly:
On iPhone and iPad, the control fills the available width. .labelsHidden() hides the title from the screen, and VoiceOver still reads it.
Use a segmented control for two to five short options. For more options, use a Picker.
To move between the main sections of your app, use a Tab View instead.
Examples
Options
A segmented control can also pick a value, such as a date range, without changing the view around it.
Icons
Use either text or icons in one control, not both. Give each icon an accessibility label.
Sizes
.controlSize(_:) changes the height.
Color
On iOS 26 and later, the system draws the selected segment with Liquid Glass and keeps it neutral, as in Apple's own apps. It doesn't take the theme's tint.
UIKit's UISegmentedControl.appearance() can color it, but the change applies to every segmented control in the app, so leave it to the system unless your design needs it.
Text size
The segment titles stay at a fixed size and don't grow with Dynamic Type. Keep them to one or two short words.
For more information about the segmented style, see the Apple documentation.





