在屏幕外渲染 uiview 以捕获为 uiimage

rendering a uiview offscreen to capture as a uiimage

在我正在编写的个人 swift 应用程序中,我使用图表库创建条形图并将它们显示在 viewcontroller 中。到目前为止一切正常。现在我想创建其他图表,将它们捕获为 uiimage 以包含在 PDF 表单中......没有 显示图表。图表库创建了一个 uiview,我尝试了很多建议。 post1, and this one 但运气不佳...

此代码有效但强制我显示图表

    resourceBarChart.updateDataEntries(dataEntries: resChartData, animated: false)
    self.view.addSubview(resourceBarChart)
    let myimage1 = self.view.subviews[1].image(withScale: .native)

省略了uiview的显示

    resourceBarChart.updateDataEntries(dataEntries: resChartData, animated: false)
    let myimage = resourceBarChart.image(withScale: .native)

returns 空 canvas。我试着玩隐藏的 属性 但没有运气(也许如预期的那样)。作为新手,我怀疑我忽略了一个微妙之处,并愿意接受任何建议

在将视图捕获为 UIImage

之前尝试使用 drawHierarcy
resourceBarChart.drawHierarchy(in: resourceBarChart.bounds, afterScreenUpdates: true)