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 期间,他们提出了一种实现此目的的方法。你可以在这个视频下面看到。
我想像 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 期间,他们提出了一种实现此目的的方法。你可以在这个视频下面看到。