79739202

Date: 2025-08-18 20:14:08
Score: 4
Natty:
Report link
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)
            }
        }
    }
    }
Reasons:
  • Blacklisted phrase (1): I have the same problem
  • Blacklisted phrase (1): I am trying to
  • Long answer (-1):
  • Has code block (-0.5):
  • Me too answer (2.5): I have the same problem
  • Low reputation (1):
Posted by: Djiby