SwiftUI не может отклонить лист, содержащий NavigationView - PullRequest
1 голос
/ 20 января 2020

У меня есть основной вид с NavigationView, который может представить лист. Лист также имеет NavigationView. Лист можно отклонить жестом, но не с помощью self.presentationMode.wrappedValue.dismiss(). Если удалить NavigationView с листа, он корректно отклоняется.

Не могли бы вы сообщить?

Код для листа

var body: some View {
        NavigationView{
            VStack{
                SheetTitleView(imageName:"gear", title:"Paramètres")
                Divider().padding(.top, -10)
                Form{...}      
                Spacer()
            }.navigationBarTitle("").navigationBarHidden(true).statusBar(hidden: false)
        }.edgesIgnoringSafeArea(.top)
    }
struct SheetTitleView: View{
    @Environment(\.colorScheme) var colorScheme: ColorScheme
    @Environment(\.presentationMode) var presentationMode: Binding<PresentationMode>
    var imageName:String
    var title:String

    var body: some View {
        ZStack{
            if (self.colorScheme == ColorScheme.light){
                Color(UIColor.systemGray4).edgesIgnoringSafeArea(.all)
            } else{
                Color(UIColor.systemGray6).edgesIgnoringSafeArea(.all)
            }
            VStack{
                HStack(){
                    Image(systemName: self.imageName).font(Font.system(.title)).foregroundColor(Color(UIColor.darkGray)).padding(.leading, 10)
                    Text(self.title).foregroundColor(Color(UIColor.darkGray)).font(.title).bold()
                    Spacer()
                    Button(action: {
                        self.presentationMode.wrappedValue.dismiss()
                    }) {
                        Image(systemName: "xmark.circle.fill").foregroundColor(Color(UIColor.darkGray)).font(.title).padding(.trailing, 10)
                    }
                }
            }
        }.frame(minWidth: 0, maxWidth: .infinity, minHeight: 0, maxHeight: 60, alignment: .topLeading)
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...