Xcode 12.5 сломал NavigationLink

Я только что обновил Xcode до версии 12.5. С тех пор у меня проблема с кодом NavigationLink. Подпредставление появится, но когда я нажимаю кнопку отмены, чтобы вернуться к родительскому представлению, я получаю сообщение об ошибке в журнале.

Невозможно представить. Пожалуйста, сообщите об ошибке.

Этого не произошло в Xcode 12.4. Я вернулся к Xcode 12.4, и проблема исчезла. Я установил 12.5 в качестве побочного приложения и написал несколько общих представлений, чтобы продемонстрировать проблему.

Я читал и видел, что если у меня есть только две навигационные ссылки в представлении, проблема не возникает. Но это было бы серьезным изменением дизайна моего приложения ... Я действительно мог бы использовать лучшее решение, если оно есть. ТИА Боб

      import SwiftUI

struct SetupMenuView: View {
    
    var body: some View {
        
        NavigationView {
            
            VStack(alignment: .leading) {
                
                Divider().background(Color.black)
  
                NavigationLink(destination: SubView01()) {
                    Text("SubView01")
                        .foregroundColor(.black)
                        .font(.largeTitle)
                }
                .padding(.leading, 25)
                
                Divider().background(Color.black)
                
                NavigationLink(destination: SubView02()){
                    Text("SubView02")
                        .foregroundColor(.black)
                        .font(.largeTitle)
                }
                .padding(.leading, 25)
                
                Divider().background(Color.black)
                
                NavigationLink(destination: SubView03()) {
                    Text("SubView03")
                        .foregroundColor(.black)
                        .font(.largeTitle)
                }
                .padding(.leading, 25)
                
                Divider().background(Color.black)
                
                NavigationLink(destination: SubView04()) {
                    Text("SubView04")
                        .foregroundColor(.black)
                        .font(.largeTitle)
                }
                .padding(.leading, 25)
                
                Divider().background(Color.black)
                //                }
            } // VSTACK END
            .padding(.top, 25)
            .frame(minWidth: 0,
                   maxWidth: .infinity,
                   minHeight: 0,
                   maxHeight: .infinity,
                   alignment: .topLeading
            )
            .navigationBarTitle("SubView Menu Setup", displayMode: .inline)
        }
        .navigationViewStyle(StackNavigationViewStyle())
        
    }
    
}

struct SetupMenuView_Previews: PreviewProvider {
    static var previews: some View {
        SetupMenuView()
    }
}
      import SwiftUI

struct SubView01: View {
    
    @Environment(\.presentationMode) var presentationMode
    
    var body: some View {
        
        ZStack {
            VStack {
                Text("This is the sub view 01.")
                    .font(.largeTitle)
            }
        }
        .navigationBarBackButtonHidden(true)
        .navigationBarTitle("SubView01", displayMode: .inline)
        .navigationBarItems(
            leading:
                Button(action: {
                    self.presentationMode.wrappedValue.dismiss()
                }, label: {
                    Text("Cancel")
                })
            ,
            trailing:
                HStack {
                    EditButton()
                        .padding()
                }
        )
    }
}

struct SubView01View_Previews: PreviewProvider {
    
    static var previews: some View {
        SubView01()
    }
}
      
import SwiftUI

struct SubView02: View {
    
    @Environment(\.presentationMode) var presentationMode
    
    var body: some View {
        
        ZStack {
            VStack {
                Text("This is the sub view 02.")
                    .font(.largeTitle)
            }
        }
        .navigationBarBackButtonHidden(true)
        .navigationBarTitle("ASubView02",displayMode: .inline)
        .navigationBarItems(
            leading:
                Button(action: {
                    self.presentationMode.wrappedValue.dismiss()
                }, label: {
                    Text("Cancel")
                })
            , trailing:
                HStack {
                    EditButton()
                        .padding()
                }
        )
    }
}

struct SubView02_Previews: PreviewProvider {
    
    static var previews: some View {
        SubView02()
    }
}
      
import SwiftUI

struct SubView03: View {
    
    @Environment(\.presentationMode) var presentationMode
    
    var body: some View {
        ZStack {
            VStack {
                Text("This is the sub view 03.")
                    .font(.largeTitle)
            }
        }
        .navigationBarBackButtonHidden(true)
        .navigationBarTitle("SubView03", displayMode: .inline)
        .navigationBarItems(
            leading:
                Button(action: {
                    self.presentationMode.wrappedValue.dismiss()
                }, label: {
                    Text("Cancel")
                })
            ,
            trailing:
                HStack {
                    EditButton()
                        .padding()
                }
        )
    }
}

struct SubView03_Previews: PreviewProvider {
    static var previews: some View {
        SubView03()
    }
}
      
import SwiftUI

struct SubView04: View {
    
    @Environment(\.presentationMode) var presentationMode
    
    var body: some View {
        ZStack {
            VStack {
                Text("This is the sub view 04.")
                    .font(.largeTitle)
            }
        }
        .navigationBarBackButtonHidden(true)
        .navigationBarTitle("SubView04", displayMode: .inline)
        .navigationBarItems(
            leading:
                Button(action: {
                    self.presentationMode.wrappedValue.dismiss()
                }, label: {
                    Text("Cancel")
                }
                )
            ,
            trailing:
                HStack{
                    EditButton()
                        .padding()
                }
        )
    }
}


struct SubView04_Previews: PreviewProvider {
    static var previews: some View {
        SubView04()
    }
}

0 ответов

Другие вопросы по тегам