0

私のアプリケーションは、以下のコードを使用して UIView を UIImage にレンダリングします。

func asImage() -> UIImage {
    let renderer = UIGraphicsImageRenderer(bounds: bounds)
    return renderer.image { rendererContext in
        self.drawHierarchy(in: bounds, afterScreenUpdates: true)
    }
}

そのコードが呼び出される前に、画像レンダリングの進行中に表示される読み込みインジケーターを画面に配置します。そのインジケータは、UIImageView を介したアニメーション シーケンスです。ローディング アニメーションは正常に開始されますが、画像のレンダリングが開始されるとすぐに、メイン スレッドがブロックされ、ローディング アニメーションがフリーズします。レンダリングが完了するまでハングしてから再開します。UIImageView 操作とレンダリングの両方をメイン スレッドで実行する必要があるため、このプロセス中にアニメーションがフリーズするのを回避する方法がわかりません。考え?

4

0 に答える 0