【发布时间】:2020-02-28 08:56:31
【问题描述】:
我目前正在尝试通过按下上下文菜单中的按钮来呈现模式视图。这可行,但是应该显示模态视图的代码被调用了两次,这是一个问题,因为我正在调用一些网络请求。
这是我目前的演示项目(没有网络内容):
这是应用启动时调用的视图。
struct ContentView: View {
@State var isModal: Bool = false
var body: some View {
Group {
Text("Main view")
}.contextMenu {
Button("Present Detail") { self.isModal = true }.sheet(isPresented: $isModal) {
DetailView()
}
}
}
}
这是简单的细节视图
struct DetailView: View {
var body: some View {
Text("Detail View")
}
}
因此,如果我在 DetailView() 被实例化的行放置一个断点,我会看到这部分被调用了两次。是否有更好的解决方案来呈现模态视图,而无需多次实例化?
【问题讨论】:
标签: swift swiftui watchkit apple-watch