Условия внутри представления вкладок

#ios #swift #xcode #swiftui

Вопрос:

У меня есть представление вкладок, в которое я хочу добавить другую страницу, только если условие выполняется. К сожалению, я не могу добавить еще одну страницу. Я заметил, что все страницы внутри представления вкладок создаются только при инициализации представления вкладок. есть ли способ обновить представление вкладок?

 struct Demo2: View {
    @State private var showNextTab = false
    
    var body: some View {
        TabView {
            Text("Tab1")
                .onTapGesture {
                    self.showNextTab = true
                }
            
            if showNextTab {
                Text("Tab2")
            }
        }.tabViewStyle(PageTabViewStyle(indexDisplayMode: .never))
        
    }
}
 

Ответ №1:

Установите идентификатор в TabView . Это обновит представление вкладок.

 TabView {
    Text("Tab1")
        .onTapGesture {
            self.showNextTab = true
        }
    
    if showNextTab {
        Text("Tab2")
    }
}
.id(showNextTab) // << Here