如何从 Sheet 中将新视图推送到导航堆栈中。我想显示一个课程列表。当点击其中一节课时,应该打开一个 sheet 显示有关该课程的详细信息。在 sheet 内部,应该能够开始该课程并在新的全屏视图中查看。
import SwiftUI
struct ContentView: View {
var lessons = [Lesson(id:"1"), Lesson(id:"2"), Lesson(id:"3"), Lesson(id:"4"), Lesson(id:"5"), Lesson(id:"6"), Lesson(id:"7"), Lesson(id:"8"), Lesson(id:"9")]
var body: some View {
NavigationView(){
Form{
List(lessons){ lesson in
LessonButton(lesson: lesson)
}
}
}
}
}
struct LessonButton:View{
@State var showSheet = false
var lesson:Lesson
var body: some View {
Button(action:{self.showSheet = true}){
Text(lesson.name)
}.sheet(isPresented:$showSheet){
NavigationLink(destination: Text("reached")){
Text("start")
}
}
}
}
struct Lesson: Identifiable{
var id:String
var name: String{
"Lesson \(self.id)"
}
}
然而,NavigationLink 不起作用。我猜测这是因为 Sheet 不是 Content View 的子视图。这可能就是为什么它不起作用的原因。但怎样才能实现呢?