Hello I am trying to use ImageRenderer in a view containing an AsyncImage, but I have the same problem, only le placeholder appear as the result of the ImageRenderer.
struct ShareView: View {
@State private var renderedImage = Image(systemName: "photo")
var body: some View {
NavigationStack {
VStack {
Spacer()
AsyncImage(url: URL(string: "http://myurl.com")) { image in
image.resizable()
} placeholder: {
ProgressView()
}
.frame(width: 100, height: 100)
.clipShape(Circle())
.padding()
Spacer()
ShareLink("Export", item: renderedImage, preview: SharePreview(Text("Shared image"), image: renderedImage))
Spacer()
}
.onAppear {
render()
}
}
.padding(.horizontal)
}
@MainActor func render() {
let renderer = ImageRenderer(content: shareableView)
if let uiImage = renderer.uiImage {
renderedImage = Image(uiImage: uiImage)
}
}
}
}