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