SwiftUI Nested NavigationView навигационная панель исчезает - PullRequest
0 голосов
/ 10 октября 2019

У меня есть три представления, которые являются списками. struct MainMenuView: представление {@EnvironmentObject var dataModel: DM

var body: some View {

    return NavigationView{
        List {
            Matchup()
            GameSettings()
            EnteringGame()
        }
    }
}

Inside Matchup ()

struct Matchup: View {
@EnvironmentObject var dataModel: DM    

var body: some View {
    Section(header: Text("MATCH-UP")
        .fontWeight(.heavy)
        .foregroundColor(Color("TPLightGrey"))
    ) {
        NavigationLink(destination: TrendSingleSelect(
            title: .constant("TEAM"),
            col: .constant(self.dataModel.queryColumnTeam1),
            items: .constant(self.dataModel.team1Values) ,
            selection: self.$dataModel.team1ListValue
        )) {
            HStack {
                Text("TEAM")
                Spacer()
                if dataModel.team1ListValue.count == 0 {
                    Text("IS ANY").foregroundColor(Color("TPLightGrey"))
                } else {
                    Text( self.dataModel.team1ListValue.joined(separator: ", ")).foregroundColor(Color("TPOrange"))
                }
            }
        }


    }
    .listRowBackground(Color("TPDarkGrey"))
    .font(.system(size: 14))
    .navigationBarTitle("", displayMode: .inline)
    .navigationBarHidden(true)
}

}

Обратите внимание, что я скрываю NavBar. Я хочу нажать навигацию, когда пользователь вкладывает строку. Вот окончательный вид:

var body: some View {

    return VStack  {

        List {
            ForEach(self.items, id: \.self) { item in
                SingleSelectionRow(title: item, isSelected: self.selection.contains(item)) {

                    if self.selection.contains(item) {
                        self.selection = []
                    }
                    else {
                        self.selection = [item]

                    }
                    self.queryCallback()
                }
                .listRowBackground(Color("TPDarkGrey"))
            }//ForEach
        }//list
            .font(.system(size: 14))
    }

    .navigationBarHidden(false)
    .navigationBarTitle(title)
    .navigationBarItems(trailing:
        Button(action: {
               // Actions
                self.reset()
           }, label: {
            Text("Clear")
            }
        )
    )

}

Что происходит: когда я нажимаю на продажу, я нажимаю в этом разделе. Однако, когда он выдвигается, я вижу navBar, затем он сворачивается. Однако, когда я затем нажимаю на что-либо в представлении, чтобы вызвать перезагрузку представления, оно появляется.

Что вызывает крах навигационной панели?

1 Ответ

0 голосов
/ 10 октября 2019

Arrrgh ... это было не нужно: .navigationBarHidden (true) в MatchupView

...