我正在 viewController 的 viewDidLoad 中使用以下函数创建模糊效果
func applyBlurEffect(image: UIImage){
let imageToBlur = CIImage(image: image)!
let blurfilter = CIFilter(name: "CIGaussianBlur")!
blurfilter.setValue(10, forKey: kCIInputRadiusKey)
blurfilter.setValue(imageToBlur, forKey: "inputImage")
let resultImage = blurfilter.value(forKey: "outputImage") as! CIImage
let croppedImage: CIImage = resultImage.cropping(to: CGRect(x:0,y: 0,width: imageToBlur.extent.size.width,height: imageToBlur.extent.size.height))
let context = CIContext(options: nil)
let blurredImage = UIImage (cgImage: context.createCGImage(croppedImage, from: croppedImage.extent)!)
self.backImage.image = blurredImage
}
但是这段代码阻塞了 UI 并且 viewController 在延迟 3-4 秒后打开。我不想在没有 blurEffect 的情况下呈现 UI,也不希望用户在打开 viewController 时等待 3-4 秒。请提供此问题的最佳解决方案。