私のアプリケーションは、以下のコードを使用して UIView を UIImage にレンダリングします。
func asImage() -> UIImage {
let renderer = UIGraphicsImageRenderer(bounds: bounds)
return renderer.image { rendererContext in
self.drawHierarchy(in: bounds, afterScreenUpdates: true)
}
}
そのコードが呼び出される前に、画像レンダリングの進行中に表示される読み込みインジケーターを画面に配置します。そのインジケータは、UIImageView を介したアニメーション シーケンスです。ローディング アニメーションは正常に開始されますが、画像のレンダリングが開始されるとすぐに、メイン スレッドがブロックされ、ローディング アニメーションがフリーズします。レンダリングが完了するまでハングしてから再開します。UIImageView 操作とレンダリングの両方をメイン スレッドで実行する必要があるため、このプロセス中にアニメーションがフリーズするのを回避する方法がわかりません。考え?