我正在开发一个 SwiftUI 应用程序,其在多个视图上的导航层次结构看起来像这样:
[地点列表] -> [一个地方的详细信息] -> [地图]
在地图上,不仅会显示之前选择的地点,还会显示【地点列表】中已知的所有地点。用户应该能够在地图上选择另一个地点并显示其详细信息。可以从地图中打开 [Detail of one place] 的另一个实例,但这样视图堆栈会变得越来越长。我认为最好返回完整的导航层次结构并从 [List of Places] 中打开另一个 [Detail of one place]。
返回:【地图】->【一处详情】->【地点列表】->【一处详情】
但是,我不确定如何最巧妙地实施这种方法。我可以使用
self.presentationMode.wrappedValue.dismiss()
并一一关闭每个视图并返回导航。然后,我会从 [地点列表] 自动切换到另一个详细信息视图。到目前为止,我还没有尝试过,但我想如果我这样做,我会为每个关闭的视图获得一个动画。我不希望你这样做。从地图切换到细节应该像普通导航一样工作。