Для этого вы можете создать представление вкладок в виде контейнера отдельных вкладок примерно так ...
struct TabbedView: View {
@State private var selectedTab: Int = 0
var body: some View {
VStack {
SegmentedControl(selection: $selectedTab) {
Text("First").tag(0)
Text("Second").tag(1)
Text("Third").tag(2)
}
if seletcedTab == 0 {
FirstTabView()
} else if selectedTab == 1 {
SecondTabView()
} else {
ThirdTabView()
}
}
}
}
При этом вы условно заполняете «закладку» на основе значения сегментированного элемента управления.
Используя @State
и $selectedTab
, сегментированный элемент управления обновит значение selectedTab, а затем повторно отобразит представление, которое заменит страницу на основе нового значения selectedTab
.