Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Swift 如何更快地将UIView渲染为UIImage_Swift_Uiimage_Uigraphicscontext_Uigraphicsrenderer - Fatal编程技术网

Swift 如何更快地将UIView渲染为UIImage

Swift 如何更快地将UIView渲染为UIImage,swift,uiimage,uigraphicscontext,uigraphicsrenderer,Swift,Uiimage,Uigraphicscontext,Uigraphicsrenderer,我正在尝试将UIView(带有子视图)渲染为UIImage 我正在使用新的iOS 10+UIGraphicsImageRenderer,如下所示 let renderer = UIGraphicsImageRenderer(size: view.bounds.size) let image = renderer.image { ctx in view.drawHierarchy(in: view.bounds, afterScreenUpdates: true) } 但我的问题是,我怎

我正在尝试将UIView(带有子视图)渲染为UIImage

我正在使用新的iOS 10+
UIGraphicsImageRenderer
,如下所示

let renderer = UIGraphicsImageRenderer(size: view.bounds.size)
let image = renderer.image { ctx in
    view.drawHierarchy(in: view.bounds, afterScreenUpdates: true)
}
但我的问题是,我怎样才能更快地做到这一点?我尝试在推送新UIViewController之前渲染此UIImage,它有一个超长的延迟,直到UIImage完成处理。我认为这是因为正在为每个实例化创建呈现程序
uigraphicsimagerendercontext

在需要使用上下文渲染图像之前,是否有任何方法在背景中预加载上下文

还是我想优化这个错误


如果有任何帮助,我们将不胜感激。

您是否调用您在
viewDidLoad
中添加的代码?否,我在推送到新的viewcontroller之前执行此操作。我正在渲染一个应用了过滤器和其他效果的UIView,因此我必须等到用户完成后才能运行此代码