gpt4 book ai didi

SwiftUI - 通过 ContextMenu 显示模态

转载 作者:行者123 更新时间:2023-12-05 05:05:30 25 4
gpt4 key购买 nike

我目前正在尝试通过按上下文菜单中的按钮来呈现模态视图。这行得通,但是应该显示模态视图的代码被调用了两次,这是一个问题,因为我正在调用一些网络请求。

这是我目前的演示项目(没有网络的东西):

这是在应用启动时调用的 View 。

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()
}
}
}
}

这是简单的详细 View

struct DetailView: View {
var body: some View {
Text("Detail View")
}
}

因此,如果我在实例化 DetailView() 的行放置一个断点,我会看到这部分被调用了两次。有没有更好的解决方案来呈现模态视图,而无需多次实例化?

最佳答案

改用

var body: some View {
Group {
Text("Main view")
}.contextMenu {
Button("Present Detail") { self.isModal = true }
}.sheet(isPresented: $isModal) {
DetailView()
}
}

关于SwiftUI - 通过 ContextMenu 显示模态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60448255/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com