У меня есть основной вид с 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)
}
}