Slide Over в iPadOS 15 ломает NavigationLink (SwiftUI)
У меня возникают проблемы при использовании NavigationView и NavigationLinks на iPadOS 15. В настоящее время используется бета-версия Dev для iPadOS 15.3 (19D5026g), но эта проблема у меня возникла с момента выпуска версии 15.1. Когда я использую свое приложение как обычно, все в порядке. Но когда я превращаю приложение в Slide Over, детализация работает, но когда я нажимаю «Назад» и возвращаю деталь обратно, я не могу щелкнуть NavLink (детали не отображаются). Когда я возвращаю приложение в полноэкранный режим, все в порядке. Кто-нибудь заметил что-то подобное?
Изменить: только что узнал, что разделенный экран делает то же самое.
Вот мой код:
struct ContentView: View {
var body: some View {
NavigationView {
SideBar()
.navigationBarTitle("SideBar")
.toolbar {
ToolbarItemGroup(placement: .navigationBarTrailing) {}
//Button which opens options
}
DetailView()
.navigationBarTitle(“Detail”, displayMode: .large)
}
}
}
//SideBar:
struct SideBar: View {
var body: some View {
VStack{
Spacer()
VStack {
NavigationLink(destination: DetailView()) {
Text(“DetailView”)
.font(.headline)
}
NavigationLink(destination: OtherDetailView()) {
Text("Other Detail View")
.font(.headline)
}
}
Spacer()
}
}
}
//DetailView and OtherDetailView
struct DetailView: View {
var body: some View {
VStack {
Spacer()
Text("Hello World!")
Spacer()
}
.navigationBarTitle(“Detail”)
}
}```
Thanks for your help!
1 ответ
Некоторое время назад я сам нашел решение, поэтому решил опубликовать его здесь на случай, если кто-то столкнется с таким же поведением.
Правильный способ сделать то, что я пытался сделать, - это, по-видимому, использовать список с этим модификатором:
.listStyle(SidebarListStyle())
Мне это показалось странным, но я не нашел другого способа добиться того, чего хотел.