SwiftUI 上下文菜单,带有类似照片应用程序的图像

SwiftUI Context Menu with image like Photos app

我想像 Apple 照片应用程序一样使用上下文菜单:当您长按方形图像时,您可以全屏预览原始格式的图像图像而不是像网格中的正方形。但是当我使用上下文菜单时,预览的格式与显示的格式相同。

这是我的代码,在此先感谢。

struct CardView: View {
    let url: URL
    var body: some View {
        GeometryReader { proxy in
            AnimatedImage(url: url)
                .resizable()
                .aspectRatio(contentMode: .fill)
                .frame(width: proxy.size.width, height: proxy.size.height, alignment: .center)
                .cornerRadius(4)
                .contextMenu(ContextMenu(menuItems: {
                    Button {
                        print("Saved \(url)")
                    } label: {
                        HStack {
                            Text("Save Image")
                                .padding(20)
                            Image(systemName: "square.and.arrow.down")
                                .resizable()
                                .font(.title)
                        }
                    }
                }))
        }
    }
}

我发现使用 SwiftUI 3,在 WWDC 2021 期间,他们提出了一种实现此目的的方法。你可以在这个视频下面看到。

https://www.youtube.com/watch?v=4eRXNtjA0ng