Мое приложение отображает UIView в UIImage, используя следующий код:
func asImage() -> UIImage {
let renderer = UIGraphicsImageRenderer(bounds: bounds)
return renderer.image { rendererContext in
self.drawHierarchy(in: bounds, afterScreenUpdates: true)
}
}
Перед тем, как этот код будет вызван, я поместил индикатор загрузки на экран, который должен отображаться во время выполнения рендеринга изображения. Этот индикатор представляет собой анимированную последовательность через UIImageView. Анимация загрузки запускается нормально, но как только начинается рендеринг изображения, основной поток блокируется и анимация загрузки останавливается. Он зависает до завершения рендеринга и затем возобновляется. Я считаю, что как манипулирование UIImageView, так и рендеринг должны выполняться в главном потоке, поэтому я не уверен, как избежать замораживания анимации во время этого процесса. Мысли? * * 1004